早いものでもう3月もおしまいですね。
年度末ですよ奥さん!
streampack の木村です。
去年の暮れの話ですが、ファイル削除に難がある MediaStore にライフサイクルポリシーが実装されました。
これにより指定した日数経過後に残ったファイル達を勝手に消去してくれます。
AWS Elemental MediaStore が削除ライフサイクルポリシーをサポート
それでは早速コンテナ test1
配下のサブフォルダー destA
と destB
配下のファイルを作成後24時間(1日)で消す設定を入れてみようと思います。
やり方
どうやらマネージメントコンソール上からは設定できない模様。
AWS CLI の MediaStore
コマンドで実施します。
ただし、AWS CLI v2 はなぜか mediastore コマンドの put-lifecycle-policy
が実装されておりません。(2019/3/19 現在)
$ aws --version aws-cli/2.0.0dev0 Python/2.7.10 Darwin/17.7.0 botocore/1.12.48 MEDIASTORE() MEDIASTORE() NAME mediastore - DESCRIPTION An AWS Elemental MediaStore container is a namespace that holds folders and objects. You use a container endpoint to create, read, and delete objects. AVAILABLE COMMANDS o create-container o delete-container o delete-container-policy o delete-cors-policy o describe-container o get-container-policy o get-cors-policy o help o list-containers o put-container-policy o put-cors-policy MEDIASTORE()
なので v1 (1.16.126) でやります!
Life Cycle Policy ファイル作成
ライフサイクルポリシーファイルをテキストで作成します。
ファイル名は何でも可。
LiveEventsLifecyclePolicy.json
{ "rules": [ { "definition": { "path": [ {"prefix": "destA/"}, {"prefix": "destB/"} ], "days_since_create": [ {"numeric": [">" , 1]} ] }, "action": "EXPIRE" } ] }
path
で対象となるサブフォルダーを指定。days_since_create
で作成後から削除までの日数を指定します。
尚、日
単位となるので注意です。
mediastore コマンド
さてコマンドを叩きますよ。
削除ポリシー設定
put-lifecycle-policy
オプションでポリシーを設定します。
aws mediastore put-lifecycle-policy --container-name test1 --lifecycle-policy file://LiveEventsLifecyclePolicy.json
--container-name
で test1
を。
--lifecycle-policy
で上で作ったファイル LiveEventsLifecyclePolicy.json
を指定しています。
ここは各自の環境に応じてご変更下さい。
ポリシー確認
get-lifecycle-policy
で現在コンテナに設定しているポリシーを確認します。
$ aws mediastore get-lifecycle-policy --container-name test1 --output text { "rules": [ { "definition": { "path": [ {"prefix": "destA/"}, {"prefix": "destB/"} ], "days_since_create": [ {"numeric": [">" , 1]} ] }, "action": "EXPIRE" } ] }
ちゃんと反映されていますね。
ポリシー削除
参考までにもしポリシーを消す場合は以下で削除可能です。
aws mediastore delete-lifecycle-policy --container-name test1
HLS ファイル作成
MediaLive から MediaStore にストリームを流し込んでみます。
1日経過後
そのまま翌日までほーちしてファイルがどうなったか確認します。
はい、綺麗さっぱり無くなりました!
また一つ便利な機能が追加されました。
欲を言えば時間単位で消せるようになると更に嬉しいところです。