2

現在、オフライン処理(ユーザーのデータをバックアップ)を実行し、10〜100MB付近のファイルを生成するGAEアプリがあります。このファイルをユーザーに提供する最善の方法がわかりません。私が検討している2つのオプションは次のとおりです。

  1. オフライン処理コードにコードを追加して、それをフォームアップロードとしてblobストアに「スプーフィング」し、通常のblobstoreプロセスを通過してファイルを提供します。

  2. オフライン処理コードでファイルをGAEのどこかに保存し、そこから提供します。

私が見落としているはるかに良いアプローチはありますか?これはGAEにはあまり適していない機能だと思います。データストアにdb.TextまたはDd.Blobとして保存することを考えていましたが、1MBの制限があります。

任意の入力をいただければ幸いです、

4

4 に答える 4

3

フォーム投稿を介してブロブストアに保存することが、現在利用可能な最良のオプションだと思います。プログラムによるブロブストア書き込みを実装する計画がありますが、まだ準備が整っていません。

于 2011-01-17T22:52:14.427 に答える
2

少し前から、ブロブストアの実験的な機能を使用してファイルを書き込むことができることに言及する必要があります。

次に、素敵なBlobstoreDownloadHandlerを使用して、ファイルをダウンロードとして提供できます

于 2013-01-16T23:04:34.303 に答える
1

私は最初のオプションに固執します。Blob を準備するには追加のコーディングが必要ですが、blobstore API ではファイルのバイト範囲を提供できます。

http://code.google.com/appengine/docs/python/blobstore/overview.html#Serving_a_Blob

サービング ファイル チャンクを自分で実装する必要はありません。

于 2011-01-17T20:48:43.690 に答える
0

見落としているアプローチがいくつかありますが、それがそれほど優れているかどうかはわかりません。

データを多数の 1MB チャンクに分割し、チャンクを転送する個別のリクエストを行います。

これには、実際にデータをチャンクで取得するために、外部アプリケーションからの協力が必要です。HTTP Range ヘッダーを使用して、単一のファイルの錯覚を維持したい場合があります。次に、個々のチャンクすべての ID を保持する別のオブジェクトを用意します。

于 2011-01-17T20:39:21.707 に答える