2012-01-24 50 views
2

我想將所有斑點下載爲一個壓縮文件(或其他方式)到我的電腦。無論如何要做到這一點?我使用python SDK。App Engine Blobstore一次下載所有斑點

+0

如果我有1000個大的(每個〜20MB)blob,BlobReader Class如何幫助我下載它們。當然,把它們中的少數放在記憶中是不可能的,所以你的建議是什麼? – ofko

+0

你想優化什麼?總下載時間? –

+0

之後大多下載時間CPU,你有沒有想法? – ofko

回答

3

對於發送給GAE的每個Web請求,有一個爲request deadline的60秒。 One request不能有大於32兆的響應,其處理程序通常也不能使用超過128兆的內存使用默認配額。

所以假設,如果你有一個非常小的應用程序,也許你可以在所有的blob組裝一個zip內存。但那不會是可擴展的,如果你的blostore太小了,它值得嗎? (不,它不是)。

底線是,在GAE中很少會一次完成。您可以通過多個請求來迭代地執行操作。

+0

反應的大小限制是32meg殺死它的軌道中的整個問題。 – ofko

5

不,沒有辦法做到這一點。 blobstore可能會很大,遠遠大於實際下載單個文件的情況。

1

無論如何,一次下載它們可能會更好。這樣,如果你的工作中途中斷,你可以重啓失敗的地方,而不是從頭開始。

-1

如何將blob複製到谷歌存儲,然後使用gsutil從那裏下載blob?