将文件保存到 App Engine Blobstore

Persisting File to App Engine Blobstore

用于 Blobstore 的 App Engine documentation 对如何使用 webapp 框架提供的 BlobstoreUploadHandler 上传文件给出了非常详尽的解释。

但是,我有一个 cgi.FieldStorage 实例,我想将其直接存储到 Blobstore 中。换句话说,我不需要上传文件,因为这是通过其他方式处理的;我只是需要存储它。

我一直在查看 blobstore 模块 source 以尝试了解上传处理程序 creates/generates blobstore 密钥并最终将文件写入 blobstore 本身,但我'我迷路了。 blobstore_service_pb 中的 CreateUploadURLResponse 似乎是实际写入发生的地方,但我没有看到实际实现该功能的组件。

更新

还有一种将文件直接存储到文件系统的实现,我认为这是上传处理程序最终所做的。我对此并不完全确定,因此对于使用 FileBlobStorage 是否是正确方法的解释将不胜感激。

在文件 deprecation 之后 API 您不能再直接写入 blobstore。 您应该改为写入 Google Cloud Storage。为此,您可以使用 AE GCS client 写入 Google 云存储的文件可以由 creating a blob key 的 Blobstore API 提供。