Azure Storageを使い始めて1週間が経ちました。
先日、PythonでAzureストレージサービスのCORS設定をする方法というのを書きましたが、今日はCache-Controlの設定方法について書きたいと思います。
Azure Storageを使う前は、Nginxでexpires
を指定して画像やその他静的ファイルをブラウザ側にキャッシュするようにしていたのですが、Azure Storage導入後から毎回静的ファイルへのリクエストが飛んでいることに気づきました。
さくさくブラウジングのためにブラウザキャッシュはかかせません。調べた結果、BLOBを保存するときにx-ms-blob-cache-control
というプロパティを指定してやればいいようです。
結果、pythonで書くと以下のようなコードになりました。
from azure.storage.blob import BlobService
destination = 'ファイルの設置場所'
name = 'ファイル名'
source = 'Azure Storageにアップロードするファイルのパス'
content_type = 'image/jpeg' # アップロードするファイルの種類に応じて適宜設定
client = BlobService(
account_name='アカウント名',
account_key='キー'
)
client.put_block_blob_from_path(
destination,
name,
source,
x_ms_blob_content_type=content_type,
x_ms_blob_cache_control='public, max-age=0'
)