Python 将文件持久化到应用程序引擎Blobstore

Python 将文件持久化到应用程序引擎Blobstore,python,google-app-engine,blobstore,Python,Google App Engine,Blobstore,Blobstore的应用程序引擎非常全面地解释了如何使用webapp框架提供的BlobstoreUploadHandler上传文件 但是,我有一个cgi.FieldStorage实例,我想直接存储到Blobstore中。换句话说,我不需要上传文件,因为这是通过其他方式处理的;我只需要把它储存起来 我一直在浏览blobstore模块,试图了解上载处理程序如何创建/生成blobstore密钥,并最终将文件写入blobstore本身,但我迷路了。看起来blobstore\u service\u pb中

Blobstore的应用程序引擎非常全面地解释了如何使用
webapp
框架提供的
BlobstoreUploadHandler
上传文件

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

我一直在浏览
blobstore
模块,试图了解上载处理程序如何创建/生成blobstore密钥,并最终将文件写入blobstore本身,但我迷路了。看起来
blobstore\u service\u pb
中的
createuploadurresponse
是实际写入的地方,但我没有看到实际实现该功能的组件

更新

还有一个将文件直接存储到文件系统的实现,我认为上传处理程序最终就是这么做的。我对此并不完全确定,因此,请解释一下使用
FileBlobStorage
是否正确

在使用文件API后,您不能再直接写入blobstore。 你应该改为写谷歌云存储。为此,您可以使用 写入Google云存储的文件可以由Blobstore API提供。

在使用文件API后,您不能再直接写入Blobstore。 你应该改为写谷歌云存储。为此,您可以使用
写入Google云存储的文件可以由Blobstore API提供。

当我们使用
BlobstoreUploadHandler时,有东西正在写入Blobstore,对吗?如果是这样的话,我们不能自己使用相同的过程来存储blob吗?我并不是说我不会切换到GCS,但我感兴趣的是,如果我不得不坚持使用blobstore,我会建议你忘记blobstore,只使用GCS,除非你有很多在blobstore上使用的代码。@DmitrySadovnychyi没有太多依赖blobstore的代码。GCS是的,使用GCS是首选方式,但只是为了回答您关于
BlobstoreUploadHandler
是如何做到这一点的问题。当您提供上传url时,上传会直接完成到blobstore,处理程序只会获取对已上传文件的引用。但是当我们使用
BlobstoreUploadHandler
时,会有东西写入blobstore,对吗?如果是这样的话,我们不能自己使用相同的过程来存储blob吗?我并不是说我不会切换到GCS,但我感兴趣的是,如果我不得不坚持使用blobstore,我会建议你忘记blobstore,只使用GCS,除非你有很多在blobstore上使用的代码。@DmitrySadovnychyi没有太多依赖blobstore的代码。GCS是的,使用GCS是首选方式,但只是为了回答您关于
BlobstoreUploadHandler
是如何做到这一点的问题。当您为上传提供url时,上传将直接完成到blobstore,处理程序只获取对已上传文件的引用。