私は Google App Engine でファイル ストレージ サービスを作成するプロジェクトを割り当てられました。しかし、応答を処理するのに 30 秒という制限が与えられた場合、それが可能かどうかは本当に疑問です。さらに、BigTable は単なるデータベース システムであり、ストレージではありません。サーバー。私は正しいですか?
6 に答える
あなたはブロブストアAPIを見たいと思うでしょう
http://code.google.com/appengine/docs/java/blobstore/
サイズが 50Mb までのファイルをアップロードして、BigTable を介さずに直接提供できます。私がやっていることは、ファイルを取り込んでブロブストアのアップロード URL を作成し、受信したファイルをその URL に投稿してエントリを bigtable に保存するスクリプトを作成することです。30 秒の時間制限は処理時間にのみ適用されるため、ファイルをアップロードする行為はそれにカウントされません。
ストレージだけが必要な場合、App Engine よりも優れた選択肢は、新しくベータ版になったGoogle Storageです。
Google Storage for Developers は、Google のインフラストラクチャにデータを保存してアクセスするための RESTful サービスです。このサービスは、Google のクラウドのパフォーマンスとスケーラビリティを高度なセキュリティと共有機能と組み合わせています。ハイライトは次のとおりです。
高速でスケーラブルで可用性の高いオブジェクト ストア
複数の米国のデータセンターに複製されたすべてのデータ
読み書きデータの一貫性
range-get をサポートするリクエストあたりのサイズが数百ギガバイトのオブジェクト
ドメイン スコープのバケット名前空間
簡単で柔軟な認証と共有
キーベースの認証
Web ブラウザからの認証済みダウンロード
個人およびグループレベルのアクセス制御
私が維持しているブロブストアの動作が気に入ったら、使用して見てください
リクエストごとに 10MB の制限があることに注意してください。
これは間違いなく可能です。
回答済みの同様の質問もいくつかあります。その他の実装については、Google を参照してください。
しかし、一般的に、はい、30 秒の制限はタスクを複雑にしますが、ファイルをチャンクに分割し、それぞれをテキスト/ブロブとして個別に保存できます。App Engine の Remote APIがこれを自動的に行う場合があります。
いくつかのインスピレーションについては、このプロジェクトをご覧ください。
http://django-filetransfers.appspot.com/
ページ上のリンクをたどると、ソースコードを入手できます。