🪣

AWS CLIでS3からフォルダごとダウンロードする

2023/11/24に公開

はじめに

先日S3からログフォルダをダウンロードする必要があったのですが、フォルダを選択してもダウンロードボタンが無効化されてしまいました。。

現状コンソールからは1ファイル毎しかダウンロードできない仕様なんですね。。
※UIの感じだとできそうなのに。。

ただAWS CLIを利用すればフォルダ毎ダウンロードできるようなので、やってみました。

ファイルのダウンロード

ファイル単体の場合は、以下コマンドでダウンロードできます。

aws s3 cp s3://{バケット名}/{フォルダ名}/{ファイル名} {ローカルの保存先}

保存先を指定する場合は、ファイル名まで指定する必要があります。

例)

aws s3 cp s3://hoge_bucket/logs/test.log d:\logs\test.log

コマンドを実行するフォルダにダウンロードする場合は、保存先にカレントディレクトリを表す「./」指定します。
この場合ファイル名の指定は必要ありません。

例)

aws s3 cp s3://hoge_bucket/logs/test.log ./

フォルダごとダウンロード

フォルダごとダウンロードする場合は、以下コマンドでダウンロードできます。
再帰処理のオプション「--recursive」を付加することで、指定したフォルダ内のフォルダを全てダウンロードできます。

aws s3 cp s3://{バケット名}/{フォルダ名} {ローカルの保存先} --recursive

例)

aws s3 cp s3://hoge_bucket/logs d:\logs --recursive

まとめ

今回はAWS CLIからダウンロードしてみましたが、Cyberduckというツールを利用すれば、GUIからもダウンロードできるみたいですね。

https://cyberduck.io/

ただコンソールからダウンロードできると楽なので、実装されることを願うばかりです🙏

コラボスタイル Developers

Discussion