S3 バケット全体をダウンロードしますか? 質問する

S3 バケット全体をダウンロードしますか? 質問する

s3AWS マネジメントコンソールからバケット全体をダウンロードするオプションがないようです。

バケットの 1 つにあるすべてのものを取得する簡単な方法はありますか? ルート フォルダーを公開し、 を使用してwgetすべてを取得し、その後再び非公開にすることを考えていましたが、もっと簡単な方法があるかどうかわかりません。

ベストアンサー1

AWS CLI

AWS CLI コマンドリファレンス" 詳細については。

AWSは最近、botoとよく似たコマンドラインツールをリリースしました。

sudo easy_install awscli

または

sudo pip install awscli

インストールが完了したら、次のコマンドを実行するだけです:

aws s3 sync s3://<source_bucket> <local_destination>

例えば:

aws s3 sync s3://mybucket .

すべてのオブジェクトをmybucket現在のディレクトリにダウンロードします。

そして出力は次のようになります:

download: s3://mybucket/test.txt to test.txt
download: s3://mybucket/test2.txt to test2.txt

これにより、一方向の同期を使用してすべてのファイルをダウンロードします。指定しない限り、現在のディレクトリにある既存のファイルは削除されません。 --deleteS3 上のファイルは変更または削除されません。

S3 バケットから S3 バケットへ、またはローカルから S3 バケットへの同期も実行できます。

チェックしてくださいドキュメントとその他の例

上記の例はバケット全体をダウンロードする方法ですが、以下を実行することでフォルダを再帰的にダウンロードすることもできます。

aws s3 cp s3://BUCKETNAME/PATH/TO/FOLDER LocalFolderName --recursive

これにより、CLI はバケットPATH/TO/FOLDER内のディレクトリ内のすべてのファイルとフォルダ キーを再帰的にダウンロードするように指示されますBUCKETNAME

おすすめ記事