Help us understand the problem. What is going on with this article?

Firebase Storageのファイルを定期的に自動で削除する

More than 3 years have passed since last update.

アップロードされてから日がたっているファイルなどを削除したいと思う場面があると思うので買いておきます。

Firebase StorageはCloud Storage

Firebase StorageはGoogle Cloud Platformの Cloud Storageが使われています。
なので、オブジェクトのライフサイクルという機能を使って削除します。

gsutilコマンドのセットアップ

クイックスタート: gsutil ツールの使用
https://cloud.google.com/storage/docs/quickstart-gsutil

を見てもいいと思いますが、 Google Cloud Shellを使うのが便利です。

lifecycle_config.json の作成

lifecycle_config.json には 何日経過したもの、何年以降のファイルを削除すると言ったことを記述していくファイルです。

$ tocuh lifecycle_config.json
$ vi lifecycle_config.json

下記のいくつかのサンプルを置いておきます。

3日以上たったファイルを削除する

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

2016年11月に作成されたファイルを全て削除する

{
  "lifecycle": {
    "rule":
    [
      {
        "action": {"type": "Delete"},
        "condition": {"CreatedBefore": "2016-12-01"}
      }
    ]
  }
}

CreatedBefore: この条件は、オブジェクトが指定の日付(UTC)の深夜より前に作成されていると満たされます。

と書いてあるので、12月1日の深夜より前に作成されているファイルが削除されます。

ライフサイクルを有効にする

$ gsutil lifecycle set lifecycle_config.json gs://bucket_name
Setting lifecycle configuration on gs://bucket_name

bucket_name には自分のバケット名を入れます。これはFirebaseのコンソールからでも見れます。

スクリーンショット 2016-12-15 23.14.06.png

get コマンドで確認してみると、ちゃんと設定されていることがわかります。

$ gsutil lifecycle get gs://bucket_name
{"rule": [{"action": {"type": "Delete"}, "condition": {"age": 3}}]}
SatoTakumi
渋谷で働くWebエンジニアです!
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした