Перейти к основному содержимому

Управление метаданными объектов

Каждому объекту, загружаемому в объектном хранилище S3, можно прикрепить метаданные — дополнительные параметры, описывающие свойства или контекст использования файла. Это удобно для идентификации, настройки кеширования, указания формата, прав доступа и других целей.

Если AWS CLI еще не установлен, установите и настройте его. Для работы с объектным хранилищем используйте команды s3api и s3.

AWS CLI. Управление метаданными объектов

Загрузка объекта с метаданными

В терминале выполните команду:

aws s3api put-object \
--bucket <bucket_name> \
--key <object_name> \
--body <path> \
--metadata "<key_name>"="<key_value>","<key_name>"="<key_value>"

Укажите:

<bucket_name> — имя бакета; <object_name> — имя объекта; <path> — путь к локальному файлу; <key_name> — ключ; <key_value> — значение.

Получение метаданных объекта

В терминале выполните команду:

aws s3api head-object \
--bucket <bucket_name> \
--key <object_name>

Укажите:

<bucket_name> — имя бакета; <object_name> — имя объекта.

Пример ответа:

{
"AcceptRanges": "bytes",
"LastModified": "2025-05-16T14:35:27+00:00",
"ContentLength": 328,
"ETag": "\"0dd6fdb23ae2cdb9cb612d440d649173\"",
"ContentType": "binary/octet-stream",
"Metadata": {
"key": "value"
}
}

Изменить метаданные объекта

Нельзя изменить метаданные напрямую. Вместо этого нужно перезаписать объект с тем же именем и новыми метаданными.

В терминале выполните команду:

aws s3api copy-object \
--bucket <bucket_name> \
--key <object_name> \
--copy-source <bucket_name>/<object_name> \
--metadata "<key_name>"="<key_value>" \
--metadata-directive REPLACE

Укажите:

<bucket_name> — имя бакета; <object_name> — имя объекта; <key_name> — ключ; <key_value> — значение.

Подробнее об объектах см. в статье Об объектах. Подробнее о метаданных объекта см. в статье Метаданные объекта.