当前位置: 首页 > 知识库问答 >
问题:

如何用Python3.7在Google App Engine标准环境下为Google云存储签名url?

常雪风
2023-03-14

但是应用程序引擎应用程序标识依赖于google.appengine包,这在Python3.7env上是不可用的,如本文所述

Python3中没有专有的App Engine API。本节列出了建议的替换。

总体目标是您的应用程序应该是完全可移植的,并且可以在任何标准的Python环境中运行。您编写的是标准的Python应用程序,而不是应用程序引擎Python应用程序。作为这种转变的一部分,您不再需要为应用程序的核心功能使用专有的应用程序引擎API和服务。此时,Python3.7运行时中没有App Engine API。

try:
    from google.appengine.api import app_identity
except ImportError:
    app_identity = None

我真的想要依赖app engine的默认凭据,就像其他Google Cloud api一样,比如storage.client(),它可以开箱即用。

有什么建议吗?

共有1个答案

郁隐水
2023-03-14

从App Engine标准使用google-cloud-storage访问云存储:

  1. 向Requirements.txt>Google-Cloud-Storage==1.14.0
  2. 使用存储客户端库,仅使用Storage.Client()进行身份验证。

根据您需要实现的目标,我还建议尝试不同的可能方法:

    null
google.appengine.api.app_identity.sign_blob()
 类似资料:
  • 我是谷歌云平台的新手,我正在学习本教程 https://cloud.google.com/docs/authentication/getting-started#auth-cloud-implicit-nodeJS 在我使用Google Cloud设置环境变量后,这一行会导致问题 当我注释掉这行时,它会正常工作,否则它会抛出一个错误

  • 我们使用签名的URL从浏览器上传。我还不知道如何在上传时设置cache-control头。 我们使用gcloud-node库对URL进行签名:

  • 我考虑在App Engine中启动一个PHP项目,并希望在第二代中使用Cloud 2SQL。 现在我很困惑这是否可能,因为我在谷歌网站上发现了不同的信息。 https://cloud.google.com/appengine/docs/php/cloud-sql/ 注意:只有在灵活环境中运行的应用程序才能访问Google Cloud SQL第二代实例。了解更多信息。 https://cloud.g

  • 是否有必要将云构建中的环境变量注入到App Engine标准环境中? 我不想将我的环境变量推送到或。因此,当Cloud Build拉入并部署时,它缺少文件,服务器无法完成某些请求。 我试图避免使用数据存储,因为数据存储的异步特性会使代码更加混乱。我试图使用这里找到的加密机密,但这似乎不起作用,因为我将这些机密添加到了app deploy中,并且它们没有进入部署,所以我假设这不是云构建的用例。 我还

  • 有没有办法用Google App Engine(Java)在Google Cloud Storage中创建一个带有签名URL的处理程序? 我可以成功地上传文件到buckets与签名的URL在我的Android(Java)应用程序,但我没有目前的方式执行额外的代码服务器端上传完成。