AWSLinuxEC2からS3に移動しようとしている27GBのファイルがあります。「S3put」コマンドと「S3cmdput」コマンドの両方を試しました。どちらもテストファイルで動作します。どちらも大きなファイルでは機能しません。エラーは発生せず、コマンドはすぐに戻りますが、何も起こりません。
s3cmd put bigfile.tsv s3://bucket/bigfile.tsv
AWSLinuxEC2からS3に移動しようとしている27GBのファイルがあります。「S3put」コマンドと「S3cmdput」コマンドの両方を試しました。どちらもテストファイルで動作します。どちらも大きなファイルでは機能しません。エラーは発生せず、コマンドはすぐに戻りますが、何も起こりません。
s3cmd put bigfile.tsv s3://bucket/bigfile.tsv
最大 5TB のサイズのオブジェクトを S3 にアップロードできますが、S3 には、個々の PUT 操作のサイズ制限が 5GB あります。
5GB を超えるファイル (または 100MB を超えるファイル) をロードするには、S3 のマルチパート アップロード機能を使用する必要があります。
http://docs.amazonwebservices.com/AmazonS3/latest/dev/UploadingObjects.html
http://aws.typepad.com/aws/2010/11/amazon-s3-multipart-upload.html
(上記のブログ記事にある 5 GB のオブジェクト制限に関する古い説明は無視してください。現在の制限は 5 TB です。)
Python の boto ライブラリはマルチパート アップロードをサポートしており、最新の boto ソフトウェアには「s3multiput」コマンド ライン ツールが含まれています。
s3cmd バージョン 1.1.0 は、「put」コマンドの一部としてマルチパート アップロードをサポートしていますが、まだベータ版です (現在)。
ファイルが存在しませんでした。-v タグを追加して詳細モードで s3 コマンドを実行した後、これに気付きました。
s3cmd put -v bigfile.tsv s3://bucket/bigfile.tsv