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

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

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

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


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

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

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


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

$ gsutil lifecycle get gs://bucket_name


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

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

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

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

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

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

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


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


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

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

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

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


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

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

※掲載内容は、記事公開時点のものです。紹介されているサービス内容は変更される場合がありますので、ご利用の際は事前にサービス提供元等をご確認ください。

shiba

スマホアプリエンジニアです。
Firebaseについて勉強した事を書いていこうと思います。

銀座ITラボ | FirebaseやAWSに関する技術情報を配信中

銀座ITラボは、iOS/Androidアプリなどのスマホアプリ、Firebase、AWSなどのクラウドサービス、Webシステム等の技術情報に関する記事を紹介するシンプルメーカーのオウンドメディアです。

0コメント

  • 1000 / 1000