76

Amazon s3 はバッチアップロードをサポートしていますか? 私は毎晩最大 100K のファイルをアップロードする必要がある仕事をしています。これは最大 1G ですが、小さなファイルに大きく偏っています (90% は 100 バイト未満で、99% は 1000 バイト未満です)。

s3 API は、単一の HTTP 呼び出しで複数のオブジェクトをアップロードすることをサポートしていますか?

すべてのオブジェクトは、S3 で個別のオブジェクトとして利用できる必要があります。他の場所 (FTP など) または別の形式 (データベース、EC2 ローカル ドライブなど) でそれらをホストすることはできません。それは私が変えることのできない外的要件です。

4

7 に答える 7

46

または、 syncコマンドを使用してAWS CLI ツールから S3 をアップロードすることもできます。

aws s3 同期local_folder s3://バケット名

この方法を使用して、ファイルを S3 に非常に高速に一括アップロードできます。

于 2014-06-16T19:07:50.807 に答える
40

s3 API は、単一の HTTP 呼び出しで複数のオブジェクトをアップロードすることをサポートしていますか?

いいえ、S3 PUT オペレーションは、HTTP リクエストごとに 1 つのオブジェクトのアップロードのみをサポートします。

リモートバケットと同期するマシンにS3 ツールをインストールし、次のコマンドを実行できます。

s3cmd sync localdirectory s3://bucket/

次に、このコマンドをスクリプトに配置し、このコマンドを毎晩実行するスケジュールされたジョブを作成します。

これはあなたが望むことをするはずです。

このツールは MD5 ハッシュとファイルサイズに基づいてファイル同期を実行するため、競合はほとんど発生しません (本当に必要な場合は、「s3cmd put」コマンドを使用して、ターゲット バケット内のオブジェクトを強制的に上書きすることができます)。

編集: また、S3 ツール用にリンクしたサイトのドキュメントを必ず読んでください。ローカルで削除されたファイルをバケットから削除するか無視するかなど、さまざまなフラグが必要です。

于 2013-02-24T10:40:22.110 に答える