Google Cloud Storageのキャッシュの設定を変更してみる

LINEで送る
Pocket

この前公開した記事(Buildersconのセッションタイマーを作った)を実装する過程で、はじめてGoogle Cloud Storageを利用しました。
利用してみたところ、キャッシュ周りの設定を変更する方法がよく分からなかったので、備忘録を残します。

まえおき

Google Cloud StorageはブラウザからGUIで操作する方法と、Google Cloud SDKという公式のCLIツールを利用する方法があるようです。 今回は両方の方法でまとめてみます。

※GCP自体はISUCONで使用したことがあるので、GCPことはじめ的なことは割愛します。
また、GCSでバケット作成、ファイルアップロードなどのGCSことはじめも割愛します。

Google Cloud SDKのインストール

公式にインストールガイドがあるのですが、面倒なのでインストールはHomebrew-caskでやってしまいます。

インストールできたか動作確認。

ヘルプが表示されていればOKだと思います。

メタデータの確認

キャッシュの情報はメタデータと呼ばれるオブジェクトに格納されています。
デフォルトではCache-Control: public, max-age=3600となっているようです。

開発途中に1時間もキャッシュが効いてしまうのは辛いので、もうちょっと短くしたい。

GUIで見る

ファイル一覧の各ファイルの右端にメニューが有ります。

スクリーンショット 2016-07-06 10.49.00

Edit metadata を選択すると、メタデータの詳細が表示/編集されます。

スクリーンショット 2016-07-06 10.49.18

Google Cloud SDKで見る

コマンドの場合は、gsutil ls -L {URL}で見れるようです。

httpでアクセスしてみる

curlからファイルにアクセスし、レスポンスヘッダを見てみます。

このように、メタデータ内のキャッシュの項目がレスポンスヘッダに含まれています。

キャッシュの有効期限を変更してみる

GUIから変更する

Edit metadataからキャッシュの情報を書き換えられます。

スクリーンショット 2016-07-06 11.05.07

書き換えたらcurlでアクセス。

意図したとおりになりました。

Google Cloud SDKから変更する

gsutilコマンドの場合はsetmetaサブコマンドを使用します。

ん?
よくよく考えたらログインしてないですね。プロジェクトのメンバーでないとファイルの変更ができないので、gcloudコマンドでログインします。

ログインが完了したら、もう一度メタデータを更新。

今度はうまくいったようです。書き換えたらcurlでアクセス。

意図したとおりになりました。

LINEで送る
Pocket