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

如何在gcloud-aio Storage中使用Google应用默认凭据(ADC)认证?

用Application Default Credentials(ADC)认证gcloud-aio/storage

核心实现方式

gcloud-aio/storage原生支持ADC机制,无需手动传递令牌——它会自动调用google.auth的ADC流程完成认证。如果已经通过google.auth获取了凭据对象,也可以直接传入客户端初始化参数。

方法一:自动触发ADC(推荐)

直接初始化Storage或Bucket实例即可,库会自动按优先级加载ADC(环境变量>本地ADC文件>GCP服务元数据服务器):

from gcloud.aio.storage import Storage

async def main():
    storage = Storage()
    # 示例:列出项目下的存储桶
    buckets = await storage.list_buckets(project='your-project-id')
    print(buckets)

方法二:手动传入已获取的ADC凭据

如果已经通过google.auth拿到了凭据对象,可在初始化Storage时通过credentials参数传入:

import google.auth
from gcloud.aio.storage import Storage

async def main():
    # 获取ADC凭据,可指定所需权限范围
    credentials, project_id = google.auth.default(
        scopes=['https://www.googleapis.com/auth/devstorage.read_write']
    )
    # 传入凭据初始化Storage
    storage = Storage(credentials=credentials, project=project_id)
    # 示例:获取指定存储桶信息
    bucket = await storage.get_bucket('your-bucket-name')
    print(bucket)

注意事项

  • 本地开发环境可通过gcloud auth application-default login生成ADC凭据文件;GCP托管服务(如Cloud Functions、GCE)会自动从元数据服务器获取凭据,无需额外配置。
  • 若需限定权限,务必在获取凭据时传入对应scopes,避免过度授权。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 06:22:33