2012年1月6日金曜日

S3ってなんじゃ?(オブジェクトの自動削除の設定)

S3でオブジェクトのライフサイクルが設定できるようになりました。
これにより特定のルールで自動削除ができます。

さっそく触ってみます。

左ペインのバケット一覧の中で、バケット名を右クリックし、「Properties」を選択し、下ペインにバケットの設定を表示させます。




ここでは例として、expire-testというバケットに下のようなファイル群があるとします。




下部ペインのバケット設定の一番右に「Lifecycle」というタブがあるので、クリックします。
ここで、オブジェクトの自動削除の設定を追加できます。
設定項目は

  • Enabled  :有効フラグ、この設定を有効にするか無効にするかのチェックです。
  • Name   : 設定名、設定が複数あるときに判別しやすくする為です。
  • Prefix   :削除対象のオブジェクトのキー(パス名)に対するプリフィックス。空白の場合はすべてのオブジェクトが対象になります。
  • Expiration :有効期限、オブジェクトが作成された日からの日数です。

になります。
ここでは下記のように設定しました。

設定1:

  • Name   :Expiration1
  • Prefix   :*.jpg
  • Expiration :1

設定2:

  • Name   :Expiration1
  • Prefix   :Blog
  • Expiration :1

設定3:

  • Name   :Expiration1
  • Prefix   :capture
  • Expiration :1 




1日後、確認すると、以下のようになっています。



設定1で「*.jpg」というパターン表記をしましたが、kabegami_336.jpgが削除されていません。このPrefixはあくまでプリフィクスで、ワイルドカードやオブジェクトキーの正規表現は使用できないということになります。
設定2で指定した「Blog」に前方一致したBlogs-1.png,Blogs-2.png,Blogs-3.pngが正常に削除されました。
設定3で指定した「capture」に前方一致したcaptureフォルダとその中身が正常に削除されました。

細かいコントロールを望むのであれば、オブジェクトキーの正規表現ができれば嬉しいですが、これだけでも十分便利になりますね。

以上です。