使用Google App Engine将文件上传到Google云端存储(Python)

Den*_*nis 7 python google-app-engine google-cloud-storage

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

我一直在浏览JSON API和GCS客户端库概述(以及blobstore等)的文档,但仍然没有很好的处理哪种方法最好以及它们是如何相关的.如果有人可以对此进行概述或指出我可以查看的一些资源,那将会很棒

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

谢谢!!

Bra*_*ugh 8

Google云端存储有两个API - XML APIJSON API.XML API基于XML,非常类似于Amazon S3 API.JSON API与许多其他Google API类似,它可与标准Google API客户端库(例如,Google API Python库)配合使用.这些API都可以在任何地方使用,无论是否有App Engine,都基于RESTful HTTP调用.

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

第二个App Engine库称为"Google云存储Python客户端库",不属于核心App Engine API.相反,它是由Google推出的Python库,您可以像任何其他库一样下载并添加到您的应用程序中.该库恰好使用XML API实现.它提供了一些对App Engine用户有用的额外功能,例如在上载过程中序列化上载的功能.在python/demo目录中有一个使用此库作为下载的一部分的示例.你也可以在网上看到它.

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

除非用户发现它们有用,否则用户无需使用特定于App Engine的库.标准的Python库甚至只是使用urlfetch的手写HTTP调用也可以正常工作.App Engine库仅为App Engine用户提供了一些有用的附加功能.

App Engine还有一个"Blobstore Python API".这是App Engine特有的功能,与Google云存储不同,只是它为Google云端存储提供了一些支持,例如使用Blobstore API在Google云端存储中存储文件的功能.