2012-10-19 11 views
6

AWS Linux EC2からS3に移行しようとしている27GBのファイルがあります。私は 'S3put'コマンドと 'S3cmd put'コマンドの両方を試しました。どちらもテストファイルで動作します。大きなファイルでは動作しません。エラーは表示されず、コマンドはすぐに戻りますが、何も起こりません。ec2からs3までの大きなファイル

s3cmd put bigfile.tsv s3://bucket/bigfile.tsv 
+0

私は、新しいS3CMDツールが少なくともマルチパートアップロードをサポートしていると思います。少なくとも、それはUbuntuに付属するバージョンです。 – Maziyar

+0

が 、http://stackoverflow.com/questions/5774808/s3cmd-failed-too-many-times/22107084#22107084見ると、私はお勧め: http://stackoverflow.com/a/ 22107084/116293 – user116293

+0

そして時にはルートアクセス 'sudo s3cmd put ...'が必要です。 – tarikakyol

答えて

5

あなたは5TBまでのサイズでS3にオブジェクトをアップロードすることができますが、S3は、個々のPUT操作のための5ギガバイトのサイズ制限があります。

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ギガバイトオブジェクト限界の時代遅れの記述を無視してください。現在の制限は5TBである。)

Python用のbotoライブラリマルチパートアップロードをサポートしています。最新のbotoソフトウェアには、複雑さに対応し、パートのアップロードを並列化する「s3multiput」コマンドラインツールが含まれています。

https://github.com/boto/boto

+0

ああ、これは私が打つつもりの次の問題のようです。私はこのふけを再生し、s3multiputにどうやって行くのか見ていきます。ありがとう。 – waigani

0

ファイルは、DOHが存在しませんでした。私は-vタグを追加することにより、冗長モードでS3のコマンドを実行した後、これを実現:

s3cmd put -v bigfile.tsv s3://bucket/bigfile.tsv 
0

をs3cmdバージョン1.1.0は、コマンドを「置く」の一環として、マルチパートアップロードをサポートしていますが、そのまだベータ版で(現在)

関連する問題