s3
AWS マネジメントコンソールからバケット全体をダウンロードするオプションがないようです。
バケットの 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
これにより、一方向の同期を使用してすべてのファイルをダウンロードします。指定しない限り、現在のディレクトリにある既存のファイルは削除されません。 --delete
S3 上のファイルは変更または削除されません。
S3 バケットから S3 バケットへ、またはローカルから S3 バケットへの同期も実行できます。
チェックしてくださいドキュメントとその他の例。
上記の例はバケット全体をダウンロードする方法ですが、以下を実行することでフォルダを再帰的にダウンロードすることもできます。
aws s3 cp s3://BUCKETNAME/PATH/TO/FOLDER LocalFolderName --recursive
これにより、CLI はバケットPATH/TO/FOLDER
内のディレクトリ内のすべてのファイルとフォルダ キーを再帰的にダウンロードするように指示されますBUCKETNAME
。