1. ホーム
  2. amazon-web-services

[解決済み] S3バケットを丸ごとダウンロードする?

2022-03-20 14:36:24

質問

を丸ごとダウンロードするオプションはないようですね。 s3 バケットをAWSマネジメントコンソールから取得することができます。

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

どのように解決するのですか?

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 バケットを使用します。