Firebase Storage のファイルを自動で削除する

0

前回、書きました Firestore のバックアップの話の続きです。

Firestore のデータを Firebase Storage にエクスポートした後、

そのデータを一定期間後に自動的に削除されるようにしてみます。

そのために、Firebase Storage のライフサイクル管理という機能を使います。

公式のドキュメントはこちらです。

Firebase コンソールの Storage 画面からは直接編集できないようなので、コマンドを使用します。

あるバケットに対して設定されているライフサイクルを確認するには以下のようにします。

$ gsutil lifecycle get gs://bucket_name

例えば、作られてから30日が経過したファイルを自動削除するには、以下のようにします。

まず、テキストエディタで、次のように記述してファイルを作成します。


{
  "lifecycle": {
    "rule": [
      {
        "action": { "type": "Delete" },
        "condition": { "age": 30 }
      }
    ]
  }
}

このファイルを例えば lifecycle.json という名前にして、次のコマンドを実行します。

$ gsutil lifecycle set lifecycle.json gs://bucket_name

これによって、このバケットに、ライフサイクルが設定されたことになります。

condition で指定した条件に当てはまるファイルに対して、action で指定したアクションが実行されます。

condition や action に指定できる値は、こちらのドキュメントに書いてあります。

ライフサイクルを削除したい場合は、json ファイルに {} とだけ記述して、上記の設定コマンドを実行します。

Firebase コンソールの Storage 画面では、現在設定されている内容などが見れないのですが、Google Cloud Platform コンソールの Storage 画面では確認することができます。

ストレージブラウザの「ライフサイクルルール」というカラムの「○個のルール」と書かれているところをクリックします。

すると、このバケットに設定されているルールが表示されます。

ルールを追加したり削除することもできます。

以上、Firebase Storage のファイルを一定期間で自動で削除する方法と、ライフサイクルルールの確認方法のご紹介でした。

間違って、大事なファイルまで消してしまわないように注意しましょう。

0
タイトルとURLをコピーしました