Хранение и резервные копии

Заголовки объектов

1 мин чтения

Каждый объект хранит HTTP-заголовки, которые возвращаются при его скачивании. Они сообщают браузеру, как показывать файл и сколько его кешировать. Также с объектом можно хранить собственные метаданные.

В примерах используется AWS CLI, настроенный для UzCloud. Замените my-bucket на имя своего бакета.

ЗаголовокЧто делаетПример
Content-TypeТип файлаimage/png, text/html; charset=utf-8
Cache-ControlКеширование в браузере и CDNpublic, max-age=86400
Content-DispositionСкачивание вместо открытия, имя файлаattachment; filename="report.pdf"
Content-EncodingСжатое содержимоеgzip
x-amz-meta-*Собственные метаданныеx-amz-meta-author: Demo

Заголовки при загрузке

aws s3 cp ./logo.png s3://my-bucket/img/logo.png \
  --content-type image/png \
  --cache-control "public, max-age=31536000" \
  --metadata author=Demo

При загрузке папки AWS CLI определяет Content-Type автоматически по расширению файла. Cache-Control можно задать сразу для всех файлов:

aws s3 sync ./static s3://my-bucket/static/ --cache-control "public, max-age=86400"

Просмотр заголовков

aws s3api head-object --bucket my-bucket --key img/logo.png

Изменение заголовков существующего объекта

Заголовки нельзя изменить на месте. Скопируйте объект сам в себя с новыми заголовками:

aws s3api copy-object --bucket my-bucket --key docs/report.pdf \
  --copy-source my-bucket/docs/report.pdf \
  --metadata-directive REPLACE \
  --content-type application/pdf \
  --content-disposition 'attachment; filename="report.pdf"'

Примечание

С --metadata-directive REPLACE все заголовки и метаданные, которые вы не указали, сбрасываются. Перечислите в команде все нужные заголовки.

Совет

См. также: