LoginSignup
0
0

More than 1 year has passed since last update.

Google Cloud Storage キャッシュを変更

Last updated at Posted at 2021-10-29

なぜか知らないが、vue.jsでGoogle Cloud Storageの画像を読み出すと、
ところどころ真っ白になったり読み出せなかったりする。

理由は不明。
まぁ、キャッシュかなと考えているので
Google Cloud Storage の デフォルト 3600秒の画像のキャッシュを伸ばす。

アップロード時にオプション設定してもうまくいかないので、
アップロード後に変更する

hoge.php

$img = public_path($file);

$object = $bucket->upload(
    fopen($img, 'r')
);

$object->update([
    'cacheControl' => 'public, max-age=2592000'
]);

こんな感じ。

とりあえず、すでにあるファイルを変更する場合は以下。

hoge.php

$storage = new StorageClient([
    'projectId' => config('app.gcp_project_id'),
    'keyFile' => json_decode(file_get_contents(config_path('gcp.json')), true)
]);

$bucket = $storage->bucket(config('app.gcp_bucket_name'));

$objectName = "menuphoto-300x300-10.jpg";

$object = $bucket->object($objectName);

$object->update([
    'cacheControl' => 'public, max-age=22220'
]);

$object = $bucket->object(
    $objectName
);

$info = $object->info();
var_dump($info);

こんな感じ。

おまけ

オブジェクト一覧を取得

hoge.php

//        オブジェクト一覧を取得
        foreach ($bucket->objects() as $object) {
            echo $object->name()."<br>";
        }

参考
https://blog.leko.jp/post/how-to-customize-cache-settings-of-google-cloud-storage/

一括変更はこちら
https://yamavlog.com/modify-gcs-cache-time-on-eage-cache/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0