2

GAEからAmazonS3にファイルをアップロードしようとしています。

公式のAmazonSDK (低レベルのSDKの上に構築されたjetS3t)を試してみましたが、ローカルJVMにアクセス許可を設定することでローカルで動作させることができても、GAE暗号関連ではサポートされていないことがわかりましたデプロイしたら理由。

それから、必死になって、GAEで動作するように、良い魂が公式の低レベルのアマゾンSDKをフォークしていることに気づきました。この種の動作は(いくつかのStrage NullPointer例外が所々にスローされているのを見ることができますが)、ファイルはアップロードされます...しかし、ファイルサイズが5MBを超えると、API内からエラーが発生します。

com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call urlfetch.Fetch() was too large

現在のGAEの制限はファイルサイズのアップロードで32MB、要求/応答で1MBのようですが、ファイルが約5MB以上の場合にのみ問題が発生するため、これを完全には理解していません。

私の唯一の選択肢はjcloudsだと思いますが、BlobStoreライブラリを使用してS3にファイルをアップロードする例を見つけるのに問題があります。

S3ファイルのアップロードをjCloudsと共有する経験/例はありますか?そして、私は同じ urlfetch.Fetch() was too large エラーが発生する可能性がありますか?

助けていただければ幸いです。

4

2 に答える 2

3

ここに記載されているように、URLFetchリクエストは5MBに制限されています。動作する唯一のソリューションは、大きなペイロードを小さなチャンクに分割することを含むソリューションです。幸い、S3はマルチパートアップロードAPIを提供します。

于 2011-12-14T00:26:09.843 に答える
1

1.5.0のリリースノートで、私は次のように読みました。一般的な要求に応えて、HTTP要求と応答のサイズが32MBに増加しました。したがって、要求と応答、URLフェッチについては言及されていません。

実際、URL Fetchのドキュメントを見ると、最大5Mbであると書かれています。

于 2011-12-14T00:28:36.553 に答える