繁体   English   中英

在使用ruby运行的云上使用gcloud存储

[英]using gcloud storage on cloud run with ruby

通常使用google-cloud-storage gem读取/写入文件

此gem需要一个.json服务帐户密钥路径,或一个指定路径的环境变量

我想知道这在cloudrun上下文中如何工作,因为预期的环境变量无法引用静态文件路径。 部署到cloudrun时可以指定服务帐户,但是如何使用此类工具访问服务帐户信息呢​​?

在Cloud Run(或Compute Engine,Kubernetes Engine,App Engine,Cloud Functions ...)上运行时,您不需要指定任何JSON密钥文件(或GOOGLE_APPLICATION_CREDENTIALS环境变量)。 所有Google Cloud客户端库都会自动从运行您的应用程序的计算平台获取凭据(令牌)。

实际上,链接到该gem的文档说:

该库使用服务帐户凭据连接到Google Cloud服务。 在Compute Engine上运行时,将自动发现凭据

因此,您应该在代码中删除该字段,并且该字段可以在Cloud Run上正常工作。


在以下情况下,您需要指定密钥文件路径(或环境变量):

  • 您需要使用与所运行平台的默认/配置身份不同的身份
    • (例如,在这种情况下,您为Cloud Run服务配置的服务帐户)
  • 在Google Cloud外部运行时

此gem需要一个.json服务帐户密钥路径,或一个指定路径的环境变量

我想知道这在cloudrun上下文中如何工作,因为预期的环境变量无法引用静态文件路径。

GOOGLE_CLOUD_CREDENTIALS环境变量的值可以是:“ JSON文件路径或JSON内容 ”。 因此,如果您不能引用静态文件路径,请提供JSON密钥文件的全部内容作为环境变量的值。

有关完整文档,请参见google-cloud-storage身份验证

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM