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

如何在部署至Cloud Run的代码中使用服务账号?

在Cloud Run中正确使用服务账号的代码方案

Cloud Run运行环境会自动为容器提供服务账号的身份凭据,不需要依赖本地的密钥文件。你只需要简化GoogleAuth的初始化逻辑,让Google官方的Auth库自动适配环境即可,同时代码还能兼容本地开发场景。

修改后的通用代码

去掉keyFile参数,让Auth库自动检测凭据来源:

const auth = new google.auth.GoogleAuth({
  scopes: ['https://www.googleapis.com/auth/spreadsheets'],
});
const sheets = google.sheets({version: 'v4', auth});

工作原理

  • 生产环境(Cloud Run):部署时,Cloud Run会通过元数据服务器为容器注入当前配置的服务账号临时凭据,Google Auth库会自动识别并使用这些凭据,无需手动配置。
  • 本地开发:你之前用gcloud auth application-default login --impersonate-service-account my-service-account@myproject.iam.gserviceaccount.com生成的应用默认凭据,Auth库依然能自动读取,本地代码无需修改即可正常运行。

可选:指定自定义服务账号部署

如果不想用Cloud Run的默认服务账号,部署时可以通过命令指定自定义服务账号:

gcloud run deploy YOUR_SERVICE_NAME \
  --image YOUR_CONTAINER_IMAGE_URL \
  --service-account my-service-account@myproject.iam.gserviceaccount.com \
  --region YOUR_REGION

注意事项

  • 确保你使用的服务账号拥有访问Google Sheets API的权限(比如授予roles/spreadsheets.editor角色)。
  • 提前在Google Cloud控制台启用Sheets API。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 01:51:07