株式会社コードリック株式会社コードリック
トップ
TOP
会社情報
COMPANY
請負開発
ORDER
自社開発
PRODUCT
開発実績
RECORD
お知らせ
NEWS
ブログ
BLOG
お問い合わせ
CONTACT
TOPトップCOMPANY会社情報ORDER請負開発PRODUCT自社サービスRECORD開発実績NEWSお知らせBLOGブログCONTACTお問い合わせ
BLOG
ブログ
  1. TOP > 
  2. BLOG
  3.  > プログラミング
  4.  > Google CloudのCloud Storageを一定期間後に削除する方法
2024/7/19

Google CloudのCloud Storageを一定期間後に削除する方法

プログラミング
どうもこんにちは!樋渡です。

今回は、Cloud Storageに関するお話です。
コードリックではシステム開発をする時に、GoogleのFirebaseを主に使用しています。

アプリから画像をアップロードする時や、CSVファイルを内部で保存しておきたい時などは、FirebaseのStorageに保存していくことになると思います。
手軽に扱えて便利ですが、定期的に整理しておかないとデータは蓄積される一方で、運用コストが上がってしまいます。
そのため、データの種類によって有効期限を決めておき、期限が過ぎたら自動的に削除されるように設定しておいた方が良いです。

設定方法はGoogle Cloudから直接触るか、予め作成したjsonファイルの内容を反映させるかのどちらかになります。
本ブログでは後者のやり方について解説していきます。

今回は、sampleというディレクトリの直下にあるファイルを最終更新日から1年後に削除する、というのを例にjsonファイルを作成します。
作成場所はプロジェクトのルートディレクトリで、ファイル名はlifecycle.jsonとしておきます。

{
"rule": [
{
"action": { "type": "Delete" },
"condition": {
"age": 365,
"matchesPrefix": ["sample/"]
}
}
]
}

上記を作成したら、あとはターミナルから下記のコマンドを打つだけです。

gcloud storage buckets update gs://<your-bucket> --lifecycle-file=lifecycle.json

もし、gcloudコマンドでエラーが発生してしまったら、下記のリンク先からGoogle Cloud CLIをインストールしてください。
その後、手順に沿って初期設定を終えるとgcloudコマンドが使えるようになります。

Google Cloud CLI をインストールする

ライフサイクルの設定がちゃんと出来ているか、念のためにGoogle Cloudのページからも確認しておきましょう。

Google Cloud

該当のプロジェクトが選択されている状態で、Cloud Storage > バケット名 > ライフサイクル、の順に進んでいくと確認できます。

また、conditionのageを1としておいて、翌日にちゃんと削除されているかテストしておくことをお勧めします。

最後に1つ注意点があります。
conditionのmatchesPrefixに"sample/"を指定していますが、これはあくまでsampleディレクトリの直下にあるファイルを対象としています。

your-bucket/
└── sample
aaaaa.jpg
bbbbb.jpg
ccccc.jpg

そのため、下記のようなディレクトリ構造の場合は想定通りに動いてくれません。

your-bucket/
└── sample
│
├─ image
│ aaaaa.jpg
│ bbbbb.jpg
├─ text
│ aaaaa.txt
│ bbbbb.txt
└─ csv
aaaaa.csv
bbbbb.csv
ccccc.csv

予め対象としたいディレクトリ名が決まっている場合は、matchesPrefixに"sample/image"のように記述してください。
sampleディレクトリからネストした全ファイルを対象としたい場合は"sample/"ではなく、"sample"と記述すれば大丈夫です。

今回は非常にシンプルなライフサイクルを作成しましたが、より高度な設定を必要とする際はGoogle Cloudのドキュメントを参考にしてみてください。

オブジェクトのライフサイクル管理
back
トップ
TOP
会社情報
COMPANY
請負開発
ORDER
自社サービス
PRODUCT
開発実績
RECORD
お知らせ
NEWS
ブログ
BLOG
お問い合わせ
CONTACT
トップ
TOP
会社情報
COMPANY
請負開発
ORDER
自社サービス
PRODUCT
開発実績
RECORD
お知らせ
NEWS
ブログ
BLOG
お問い合わせ
CONTACT
株式会社コードリック
〒920-0362 石川県金沢市古府3丁目45-2
TEL 076-249-8388 / FAX 076-203-0044
SDGsのロゴ
株式会社コードリック
〒920-0362 石川県金沢市古府3丁目45-2
TEL 076-249-8388 / FAX 076-203-0044
プライバシーポリシー
SDGsのロゴ
©株式会社コードリック. All Rights Reserved.プライバシーポリシー
©株式会社コードリック. All Rights Reserved.