S3バケットに含まれる全オブジェクトのCache-Controlを書き換えるワンライナー
はじめに
S3バケットに含まれる全オブジェクトのCache-Controlを書き換える、一撃で!では、AWS SDK for Rubyを使ったスクリプトで実行しました。
じゃあ今度はAWSコマンドラインインターフェースを使って、ワンライナー一撃で書き換えたいと思います。
やってみる
YOUR_BUCKET_NAMEの部分を、書き換えたいS3バケット名に直して、以下ワンライナーを実行します。
$ BUCKET="YOUR_BUCKET_NAME"; aws s3 ls s3://$BUCKET --recursive | awk -v BUCKET="${BUCKET}" '{system("aws s3api copy-object --bucket " BUCKET " --copy-source " BUCKET "/" $4 " --key " $4 " --metadata-directive REPLACE --cache-control \"no-cache, no-store\"")}'
すると指定したS3バケットに含まれる全てのオブジェクトのMetaDataにCache-Controlが設定されます!
はい一撃!
まとめ
以上、コネタでした。いやーワンライナー考えるの楽しいですね!