【问题标题】:How to get GOOGLE_APPLICATION_CREDENTIALS value on GAE?如何在 GAE 上获取 GOOGLE_APPLICATION_CREDENTIALS 值?
【发布时间】:2021-08-05 06:24:20
【问题描述】:

我想在 GAE 上使用 multer,我找到了 multer-cloud-storage 库。 使用这个库时,我必须设置keyFilename。 keyFilename 被解释为您生成的 json 密钥的路径。

在开发环境中使用时,我在env中设置了GOOGLE_APPLICATION_CREDENTIALS,并将其设置为keyFilename。没问题。但是在 GAE 上运行时。 GOOGLE_APPLICATION_CREDENTIALS 未定义,因此无法构建。

https://github.com/alexandre-steinberg/multer-cloud-storage

我认为 GOOGLE_APPLICATION_CREDENTIALS 是在 GAE 上自动生成的,但这种理解可能是错误的。

【问题讨论】:

    标签: google-app-engine


    【解决方案1】:

    您的设置似乎仅适用于本地计算机,与 App Engine 不兼容。 GOOGLE_APPLICATION_CREDENTIALS 环境变量是在 Google App Engine 上自动设置的,可以使用 Application Default Credentials 访问。

    也不建议在您的应用程序中存储/使用您的服务帐户文件。建议在 App Engine 上将应用程序默认凭据 (ADC) 与 Google 客户端库一起使用。这是在 Google Cloud App Engine 上使用 Multer 的 sample code,John Hanley 的 answer 对此进行了很好的解释,其中包括 tutorial link

    Google 客户端库支持应用默认凭据 (ADC)。这意味着库将尝试自动为您查找凭据。然后,客户端库可以使用该环境来查找要在 Windows 上使用的服务帐户,并在部署时自动使用 App Engine 默认服务帐户。

    通过在您的代码中包含 ADC,您可以在 Windows/Linux 上进行测试并部署到 App Engine,而无需修改您的代码,也没有在您的部署中包含服务帐户 JSON 文件的安全风险。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-27
      • 2017-01-02
      • 2017-10-13
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      • 1970-01-01
      • 2019-10-10
      相关资源
      最近更新 更多