Google cloud platform 在云上使用gcloud存储与ruby一起运行

Google cloud platform 在云上使用gcloud存储与ruby一起运行,google-cloud-platform,google-cloud-storage,google-cloud-run,Google Cloud Platform,Google Cloud Storage,Google Cloud Run,通常使用gem来读/写文件 此gem需要.json服务帐户密钥路径,或指定路径的环境变量 我想知道这在cloudrun上下文中如何工作,因为预期的环境变量不能引用静态文件路径。部署到cloudrun时可以指定服务帐户,但如何使用该工具获取服务帐户信息?在Cloud Run(或计算引擎、Kubernetes引擎、应用引擎、云函数…)上运行时,您不需要指定任何JSON密钥文件(或GOOGLE\u应用程序\u凭据环境变量). 所有Google云客户端库都会自动从运行应用程序的计算平台获取凭据(令牌)

通常使用gem来读/写文件

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


我想知道这在cloudrun上下文中如何工作,因为预期的环境变量不能引用静态文件路径。部署到cloudrun时可以指定服务帐户,但如何使用该工具获取服务帐户信息?

在Cloud Run(或计算引擎、Kubernetes引擎、应用引擎、云函数…)上运行时,您不需要指定任何JSON密钥文件(或
GOOGLE\u应用程序\u凭据
环境变量). 所有Google云客户端库都会自动从运行应用程序的计算平台获取凭据(令牌)

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

此库使用服务帐户凭据连接到Google云服务在计算引擎上运行时,将自动发现凭据

所以您应该在代码中删除该字段,它应该可以在Cloud上正常运行


如果出现以下情况,则需要指定密钥文件路径(或env.variable):

  • 您需要使用与正在运行的平台的默认/配置标识不同的标识
    • (例如,在这种情况下,您为云运行服务配置的服务帐户)
  • 在谷歌云之外运行时

在Cloud Run(或计算引擎、Kubernetes引擎、应用引擎、云函数…)上运行时,您不需要指定任何JSON密钥文件(或
GOOGLE\u应用程序\u凭据
环境变量)。所有Google云客户端库都会自动从运行应用程序的计算平台获取凭据(令牌)

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

此库使用服务帐户凭据连接到Google云服务在计算引擎上运行时,将自动发现凭据

所以您应该在代码中删除该字段,它应该可以在Cloud上正常运行


如果出现以下情况,则需要指定密钥文件路径(或env.variable):

  • 您需要使用与正在运行的平台的默认/配置标识不同的标识
    • (例如,在这种情况下,您为云运行服务配置的服务帐户)
  • 在谷歌云之外运行时
此gem需要.json服务帐户密钥路径,或指定路径的环境变量

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

GOOGLE\u CLOUD\u CREDENTIALS
环境变量的值可以是:“JSON文件的路径,或者JSON内容”。因此,如果无法引用静态文件路径,请提供JSON密钥文件的全部内容作为环境变量的值

有关完整文档,请参阅

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

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

GOOGLE\u CLOUD\u CREDENTIALS
环境变量的值可以是:“JSON文件的路径,或者JSON内容”。因此,如果无法引用静态文件路径,请提供JSON密钥文件的全部内容作为环境变量的值


有关完整文档,请参阅。

您可能需要指定JSON密钥文件的另一个原因是,谷歌云存储功能需要完整的服务帐户凭据。生成签名URL就是一个例子。请参阅关于令牌与服务帐户凭据的说明。您可能需要指定JSON密钥文件的另一个原因是,google云存储功能需要完整的服务帐户凭据。一个示例是生成签名URL。请参阅有关令牌与服务帐户凭据的说明。或者使用--service account选项指定服务帐户。或者使用--service account选项指定服务帐户。