1

filepicker.io を使用して S3 に保存した大きなファイル (50MB ~ 2GB) を Google App Engine Blobstore (Python) に送信しようとしています。プロジェクトの要件を無効にする (そして非常に大きなファイルでハングすることが多い) ため、クライアント ブラウザーのフォームを経由せずにこれを実現したいと考えています。

次のような複数のソリューションを試しました。

  • urlfetch を使用してファイルを GAE にロードしようとしています(ただし、 GAE には要求/応答に対して32MB の制限があります)
  • Python でマルチパート フォームを作成して送信するblobstore.create_upload_url()(URL 経由でファイルを転送できず、32MB の制限があるため、スクリプトで読み込めません)
  • boto を使用してファイルをブロブストアに直接読み込みます (接続がタイムアウトし、プロセスをクラッシュさせる GAE からencountered HTTPException exceptionトリガーされる boto からのログが表示されます。CancelledError: The API call logservice.Flush() was explicitly cancelled.

私は実用的な解決策を見つけるのに苦労しています。この転送を実行する方法、または s3 からファイルを最初に Python にロードせずにフォームの添付ファイルとして渡す方法 (つまり、その URL を指定するだけ) についてのヒントをいただければ幸いです。

4

1 に答える 1