概要
この記事がやることは、AWS-CLIを用いて、指定したパスのファイルを全部DLして再度同じパスにDLしたファイルをアップロードする。
実施の経緯
S3バケットの指定したパス配下のオブジェクトを再度PUTしたかった。
再度PUTすることで、PUTイベントで発火するプログラムの動作確認を行いたかった。
やりかた
指定したパス配下をまるっとダウンロード
DIR_PATH={your-dir-path}
aws s3 cp --profile {your-profile} --recursive --exclude="*" --include="${DIR_PATH}/*" s3://your-bucketname ./ >> ./logs/download_log.txt
ダウンロードしたファイルをまるっと同じパスにアップロード
DIR_PATH={your-dir-path}
aws s3 cp --profile {your-profile} --recursive --exclude="*" --include="${DIR_PATH}/*" ./ s3://your-bucketname >> ./logs/upload_log.txt
補足
ログをとったり、実施前に--dryrun
のオプションを付けて実施内容を確認するとよいと思います。