【问题标题】:Upload Files To Google Cloud Storage With Google App Engine (Python)使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage
【发布时间】:2014-11-22 21:45:31
【问题描述】:

我正在尝试建立一个基于 python 的基本谷歌应用引擎网站,允许用户将文件上传到谷歌云存储(主要是图片)

我一直在阅读 JSON API 和 GCS 客户端库概述(以及 blobstore 等)的文档,但仍然没有很好地掌握哪种方法是最好的方法以及它们之间的关系。如果有人可以对此进行概述或指出一些我可以查看的资源,那就太好了

此外,任何相关的示例代码都会非常有帮助。我已经能够在此处运行上传示例,但不确定它们是否对应用引擎设置有用:https://github.com/GoogleCloudPlatform/storage-file-transfer-json-python

谢谢!!

【问题讨论】:

  • 我也想不通。我不确定谷歌的文档是否应该受到指责,但很难构建这样的解决方案。我最终改用了 Datastore 的 Image API。
  • 2016 年还是不行

标签: python google-app-engine google-cloud-storage


【解决方案1】:

Google Cloud Storage 有两个 API——XML APIJSON API。 XML API 是基于 XML 的,非常类似于 Amazon S3 API。 JSON API 与许多其他 Google API 类似,它与标准的 Google API 客户端库(例如,Google API Python library)一起使用。这两种 API 都可以在任何地方使用,无论是否使用 App Engine,并且基于 RESTful HTTP 调用。

App Engine 提供了几种访问 Google Cloud Storage 的标准方法。第一个内置在 App Engine 的 API 中,称为 "Google Cloud Storage Python API"。这不直接使用 XML 或 JSON API。它已被弃用,不再推荐。

第二个 App Engine 库称为 "Google Cloud Storage Python Client Library",它不是核心 App Engine API 的一部分。相反,它是由 Google 推出的 Python 库,您可以像任何其他库一样下载并添加到您的应用程序中。这个库恰好是使用 XML API 实现的。它提供了一些对 App Engine 用户有用的额外功能,例如在上传过程中序列化上传的能力。在 python/demo 目录中,有一个使用这个库的示例,作为下载的一部分。你可以also see it online

这些工具的等价物也存在于 Java 和 Go 中。

用户无需使用特定于 App Engine 的库,除非他们认为这些库有用。标准 Python 库,甚至只是使用 urlfetch 的手写 HTTP 调用都可以正常工作。 App Engine 库只是为 App Engine 用户提供了一些有用的附加功能。

App Engine 还有一个“Blobstore Python API”。这是 App Engine 特有的功能,与 Google Cloud Storage 不同,只是它提供了一些与 Google Cloud Storage 的挂钩,例如使用 Blobstore API 将文件存储在 Google Cloud Storage 中的能力。

【讨论】:

  • Brandon,澄清一下,如果我有一个 App Engine 应用,并且我希望用户上传到 Google Cloud Storage,我使用 Blobstore Python API?
  • 你当然可以,是的。
猜你喜欢
  • 2020-04-04
  • 2021-11-05
  • 2016-11-09
  • 2015-07-07
  • 1970-01-01
  • 2023-03-23
  • 2013-11-02
  • 2013-06-27
  • 2017-04-02
相关资源
最近更新 更多