3


0

Googleアプリケーションエンジン、静的ファイルの最大数?

ユーザープロファイルのような機能を備えたGoogleアプリケーションエンジンでアプリケーションを開発しています。 Googleアプリのオンラインチュートリアルを進めていたところ、静的ファイル(アプリファイルと静的ファイル)の最大数は3000を超えてはならないことがわかりました。 ユーザーの数が増えたときにユーザーが画像をアップロードできるかどうかが心配です。 この制限は無料割り当てのみに適用されますか、それとも請求後でも制限されますか? この文書では、無料割り当てよりも追加の制限として言及されています。

提案してください。

前もって感謝します。

3 Answer


5


スタックオーバーフローへようこそ!

App Engineの制限の1つは、アプリからファイルシステムに直接書き込むことができないことです。 静的ファイルは、HTML、CSS、javascript、画像のようなもので、アプリケーション全体に適用され、デプロイ時に手動でアップロードされます。 それらは、動的コンテンツを処理するサーバーとは異なるサーバーにアップロードされ、提供されます。

アプリからファイルシステムに書き込むことはできないため、ユーザーがアップロードしたファイルはブロブとしてデータストアに保存する必要があります。 これらは静的ファイルとは見なされません。 他の人が述べたように、S3またはBlobstore APIを使用できますが、どちらも請求が必要です。 無料の割り当てでは、各エンティティは最大1MBであり、各HTTP要求と応答は最大10MBです。 BlobPropertyで標準エンティティを使用すると、動的にアップロードされたファイルを1MBまで簡単に保存および提供できます。


2


BlobStoreという新しいサービスがあり、データベースにバイナリデータを保存できます。 また、データのストレージとしてhttp://aws.amazon.com/s3/[Amazon S3]を調べることもできます。 ユーザーが画像をアップロードしている場合、静的ファイルとして保存できません。 静的ファイルは、htmlおよびpng / jpg / gifファイルのようなGAEプロジェクトに含まれるファイルです。


0


他の人が述べたように、ユーザーがアップロードしたファイルなどのより動的なコンテンツの場合、それらはブロブとして、またはそれより大きい場合はブロブストアオブジェクト(最大サイズ2GB)としてデータストアに入れます。

3000個の静的ファイルは、多くの静的アセット(画像、HTML、CSS、JSファイルなど)がない限り、ある程度合理的です。 ただし、Pythonソースの場合は、別の回避策があります。それは、すべての.pyファイルを単一のZIPにスローして、そのカウントがそれほどひどくならないようにすることです。 これを行う方法を説明する記事を次に示します。

この記事では、DjangoのソースをApp Engineにバンドルする方法について説明していることに注意してください。ただし、1.3を実行している場合、またはフォークを使用している場合を除き、これは不要です。 App Engineシステムには、すでに0.96または1.2.5が無料で提供されています。

更新(2011年3月):SDK 1.4.3で、App EngineチームはBlobstoreを使用してプログラムでファイル/データを読み書きできるファイルAPIをリリースしました。 これは、http://code.google.com/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore [Python]とhttp://code.google.com/appengine/docs/java/blobstore/overviewの両方に適用されます.html#Writing_Files_to_the_Blobstore [Java]。 詳細については、対応するhttp://googleappengine.blogspot.com/2011/03/announcing-app-engine-143-release_30.html[blogpost]をご覧ください。 Blobstoreに加えて、http://code.google.com/appengine/docs/roadmap.html [public roadmap]は、Google Storageアクセスに統合される将来の機能を示しています。

更新(2011年9月):http://googleappengine.blogspot.com/2011/09/app-engine-154-sdk-release.html[SDK 1.5.4]で、App Engineチームは2 GBからBlobstoreのファイルサイズ制限を削除しました無制限のサイズのファイルを許可します。 ただし、ストレージのGBごとに支払います。

更新(2011年10月):http://googleappengine.blogspot.com/2011/10/app-engine-155-sdk-release.html[SDK 1.5.5]で、App Engineチームは、 3000から10000。これはユーザーにとって大きな後押しです。 さらに、個々のファイルの最大サイズが10MBから32MBに引き上げられました。 ストレージ関連のもう1つの改善点は、http://code.google.com/appengine/docs/python/googlestorage [ユーザーがApp Engineアプリから直接GoogleのCloud Storageに書き込みできるようになったこと]です。