Установите метаданные элемента управления кэшем Google Storage, чтобы разрешить преобразование - PullRequest
0 голосов
/ 21 октября 2019

Надеюсь, у каждого дела идут хорошо. Я загружаю файлы с помощью утилиты хранения Google в файл с включенным сжатием gzip

gsutil -h 'Content-Type:application/json; charset=utf-8' -h 'Cache-Control:Cache-Control:public,max-age=3600' cp -z filejson gs://{bucket_name}/{id}/{id}/file.json 

По умолчанию проблема возникает, когда я использую эту команду для загрузки файлов, она задает для элемента управления кэша метаданных файла значение no-transform. Когда я запускаю этот файл на клиенте (например, в браузере). Я могу прочитать содержимое файла. Можно ли как-нибудь разрешить transform для метаданных объекта. Так что это будет хорошо работать на клиентах.

1 Ответ

0 голосов
/ 21 октября 2019

Из документации :

Этого можно добиться с помощью gsutil setmeta. Команда gsutil setmeta позволяет устанавливать или удалять метаданные для одного или нескольких объектов.

По умолчанию общедоступные объекты предоставляются с заголовком Cache-Control, позволяющим таким объектам бытькэшируется на 3600 секунд. Дополнительные сведения об этом поведении по умолчанию см. В разделе CACHE-CONTROL метаданных справки gsutil. Как показано в примере:

 gsutil -h "Content-Type:text/html" \
       -h "Cache-Control:public, max-age=3600" cp -r images \
       gs://bucket/images

С другой стороны, если вам нужно убедиться, что обновления становятся видимыми немедленно, вы должны установить заголовок Cache-Control«Cache-Control: private, max-age = 0, no-transform» на таких объектах. Вы можете сделать это с помощью команды примера:

gsutil setmeta -h "Content-Type:text/html" \
  -h "Cache-Control:private, max-age=0, no-transform" gs://bucket/*.html

Подробнее о Cache-Control можно узнать здесь

...