2016-10-11 60 views
2

我需要备份我的Google Blobstore。如何备份Google Blobstore?

尽管Google要求用户倾向于使用Google Storage,但我们长期以来一直在使用Blobstore,并且需要保护数据免遭意外删除,并且还希望为测试创建数据副本。即使我们想要迁移到存储,我们也需要一些将数据从Blobstore迁移到存储的方式,而且在这么大的一步之前我们还需要备份。

如果需要我们可以自己编写备份代码,但是the documentation says“应用程序无法创建或修改Blobstore值,除非通过用户上传的文件。”

这样做的最好方法是什么?

+0

或应用上传的文件。 – voscausa

+0

为什么在迁移到存储之前需要备份?您可以将文件复制到存储并将其保留在Blobstore中,直到确定您已正确转换为止。 –

+0

如何将文件复制到存储?有没有用于从Blobstore中提取对象的API?从我所看到的,只有面向浏览器的访问。 –

回答

1

正如Jeff O'Neill所评论的,您不需要创建/写入Blobstore数据来进行备份(在Blobstore中)。您可以从Blobstore读取数据并在Storage中创建备份副本。

可以读取Blob存储的数据是这样的:

with blobstore.BlobReader(blob_key) as fd: 
    blob_data = fd.read() 

如果你的斑点是太大的一个运算阅读,你可以检查这个职位迭代Blob存储块读取的方法(和将数据写入GCS):Google App Engine: How to write large files to Google Cloud Storage

+0

如何做一个在Java中的等价物?那会是BlobInputStream吗? https://cloud.google.com/appengine/docs/java/blobstore/ –

+0

不确定,我正在使用python;)看起来像是一种可能性。另一个可能是“BlobstoreService”(通过“fetchData”):https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/blobstore/BlobstoreService –