Метод upload

Загружает объект и его метаданные в Yandex Object Storage.

Примечание

Object Storage не блокирует объект на запись и может принимать одновременно несколько запросов на запись одного объекта, однако пользователь сможет получить из Object Storage только последний записанный объект.

Чтобы убедиться, что объект передан по сети без повреждений, используйте заголовок Content-MD5. Object Storage вычислит MD5 для сохраненного объекта и если вычисленная MD5 не совпадет с переданной в заголовке, вернет ошибку. Эту проверку можно выполнить и на стороне клиента, сравнив ETag из ответа Object Storage с предварительно вычисленной MD5.

Запрос

PUT /{bucket}/{key} HTTP/1.1

Path параметры

Параметр Описание
bucket Имя бакета.
key Ключ объекта. Идентификатор, под которым объект будет сохранен в Object Storage.

Заголовки

Используйте в запросе необходимые общие заголовки.

Дополнительно можно использовать заголовки, перечисленные в таблице ниже.

Заголовок Описание
x-amz-meta-* Пользовательские метаданные объекта.

Все заголовки, начинающиеся с x-amz-meta- Object Storage воспринимает как пользовательские, не обрабатывает их и сохраняет в том виде, в котором они переданы.

Общий размер пользовательских заголовков не должен превышать 2KB. Размер пользовательских данных определяется как длина строки в кодировке UTF-8. В размере учитываются и названия заголовков и их значения.
x-amz-storage-class Класс хранилища объекта.

Может иметь любое из значений:
- STANDARD для загрузки объекта в стандартное хранилище.
- COLD, STANDARD_IA и NEARLINE для загрузки объекта в холодное хранилище.

Если заголовок не указан, то объект сохраняется в хранилище, установленном в настройках бакета.

С помощью заголовков, перечисленных ниже, можно установить ACL для загружаемого объекта.

Заголовок Описание
x-amz-acl Устанавливает предопределенный ACL для объекта.
x-amz-grant-read Устанавливает получателю доступа разрешение на чтение объекта.
x-amz-grant-read-acp Устанавливает получателю доступа разрешение на чтение ACL объекта.
x-amz-grant-write-acp Устанавливает получателю доступа разрешение на запись ACL объекта.
x-amz-grant-full-control Устанавливает получателю доступа разрешения: READ, WRITE, READ_ACP, WRITE_ACP на объект.

Значение для заголовков x-amz-grant-* представляет собой разделенный запятыми список получателей доступа. Каждый получатель доступа идентифицируется структурой вида <тип получателя доступа>:<идентификатор получателя доступа>. Object Storage поддерживает следующие типы получателей:

  • id — получатель доступа — пользователь облака.
  • uri — получатель доступа — системная группа.

Пример:

x-amz-grant-read: uri="http://acs.amazonaws.com/groups/s3/AuthenticatedUsers"

Ответ

Заголовки

Ответ может содержать только общие заголовки.

Коды ответов

Перечень возможных ответов смотрите в разделе Ответы.