You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非所属GCP项目存储桶的Google Cloud Storage Python API下载求助

解决方法

你的报错源于默认初始化的storage.Client会自动关联本地凭证对应的默认GCP项目,而该项目的账单账号处于关闭状态,导致权限校验失败。但你的凭证本身拥有目标存储桶的读写权限,只需调整Client的初始化逻辑,避免关联到账单关闭的项目即可,以下是两种可行方案:

方案一:显式指定凭证并跳过项目关联

from google.cloud import storage
from google.auth import default

# 获取本地已通过`gcloud auth application-default login`认证的应用默认凭证
credentials, _ = default()
# 初始化Client时仅传入凭证,不指定项目(避免触发默认项目的账单校验)
client = storage.Client(credentials=credentials, project=None)
# 下载目标Blob
blob = storage.Blob.from_string("gs://BUCKET/PATH", client=client)
content = blob.download_as_text()

方案二:通过Bucket对象直接操作Blob

from google.cloud import storage
from google.auth import default

credentials, _ = default()
# 初始化无项目关联的Client
client = storage.Client(credentials=credentials, project=None)
# 获取目标存储桶(仅需桶名,无需知晓所属项目ID)
bucket = client.get_bucket("BUCKET")
# 获取并下载指定路径的Blob
blob = bucket.blob("PATH")
content = blob.download_as_text()

两种方案均使用与gsutil一致的本地认证凭证,绕开了默认项目的账单校验逻辑,可直接访问目标私有存储桶内容。

内容的提问来源于stack exchange,提问作者Migwell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 21:11:01