2016-10-11 61 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 –