2011-09-08 36 views
2

我有大約900K的python GAE模型實體,我想將其導出爲CSV文件進行離線測試。我可以使用appcfg.py download_data選項,但在這種情況下,我不想備份到本地計算機。我想要一種更快的方式在GAE中創建文件,將其保存到Google存儲或其他地方,然後從多臺機器下載。在python Google App Engine中,如何將模型的所有實體導出到Google Storage for Developers中的文件中?

我假設我需要在任務中這樣做,因爲它可能需要超過30秒才能完成操作。

class MyModel(db.model): 
    foo = db.StringProperty(required=True) 
    bar = db.StringProperty(required=True) 

def backup_mymodel_to_file(): 
    #What to do here? 
+0

如何關聯的實體? – NullUserException

回答

2

你最好的選擇將是使用map reduce library相關數據導出到Blob存儲區,然後上傳完成的文件到谷歌存儲。

請注意,Google存儲和App Engine之間的整合工作正在進行中。

+0

我在哪裏可以找到使用mapreduce將實體數據導出到blobstore的示例?我可以找到導出到blobstore的示例,但不能使用mapreduce。 – Chris

+0

使用[BlobstoreOutputWriter](http://code.google.com/p/appengine-mapreduce/source/browse/trunk/python/src/mapreduce/output_writers.py#516)(如何使用作家應該變得明顯學習了基本的mapreduce框架和工作流程之後)。 –

+0

有維護訂單或排序最終結果的選項嗎?如果不是,這是否意味着維持秩序的唯一方法是將blobstore寫入作爲任務的一部分? – Chris

相關問題