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フォルダとその中身が正常に削除されました。
細かいコントロールが必要となる場合であれば、オブジェクトキーの正規表現が可能であると嬉しいですが、
これだけでも十分便利になります。
こちらの記事はなかの人(memorycraft)監修のもと掲載しています。
元記事は、こちら