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 を指定するだけ) についてのヒントをいただければ幸いです。