S3の特定バケットに含まれる全てのオブジェクトのMetaDataを書き換える
昨日と同じく、会社Blogに書く程じゃないネタ。
S3の特定のバケットに含まれる全てのオブジェクトに対しMetaDataを書き換えたいときってありますよね。それをAWS SDK for Rubyを使ってやります。
---
---
これをs3chmod.rbみたいな名前にして
この例では「{:cache_control => "no-cache, no-store"}」にしてるけど、ここで使えるオプションはClass: AWS::S3::S3Object — AWS SDK For Rubyに書いてます。
以上!
S3の特定のバケットに含まれる全てのオブジェクトに対しMetaDataを書き換えたいときってありますよね。それをAWS SDK for Rubyを使ってやります。
---
#!/usr/bin/ruby
require 'rubygems'
require 'aws-sdk'
s3 = AWS::S3.new
bucket = s3.buckets[ARGV[0]]
bucket.objects.each do |obj|
obj.copy_from(obj, {:cache_control => "no-cache, no-store"})
end---
これをs3chmod.rbみたいな名前にして
$ s3chmod.rb BUCKETNAMEというように実行すると、そのバケットに含まれる全てのオブジェクトのMetaDataが書き変わる。
この例では「{:cache_control => "no-cache, no-store"}」にしてるけど、ここで使えるオプションはClass: AWS::S3::S3Object — AWS SDK For Rubyに書いてます。
以上!