🍣

Google Cloud Storageのキャッシュを保持したくない

2022/09/12に公開

目標

  • GCSのtxtファイルから数字を読み込む
  • GCFで数字を利用して何らかの処理を行う
  • +1した数字をGCSのtxtファイルに保存

のようなことをしたい。

コード

main.py

def main(request):
    # バケット
    bucket_name = 'YOUR BUCKET NAME'
    bucket = storage_client.get_bucket(bucket_name)

    # countを記録するファイルを開く
    blob_count = bucket.blob('count.txt')
    count =  blob_count.download_as_string()
  
    # 何らかの処理

  # +1
    count = int(count)+1

    # countを記録するファイルに保存
    blob_count.upload_from_string(str(count))
    blob_count.cache_control = 'no-store'
    blob_count.patch()

    return 'finished'

GCSのキャッシュを無効にするところが重要。

blob_count.cache_control = 'no-store'
blob_count.patch()

requirements.txt

google-cloud-storage==1.23.0

参考サイト

https://labs.gree.jp/blog/2021/09/21360/
https://blog.g-gen.co.jp/entry/cloud-storage-explained

Discussion