Метод copyPart

Копирует часть объекта.

Имеет такую же функциональность, как и Метод uploadPart, только данные передаются не в теле запроса, а копируются из существующего объекта.

Запрос

PUT /{bucket}/{key}?partNumber=PartNumber&uploadId=UploadId HTTP/1.1

Path параметры

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

Query параметры

Параметр Описание
partNubmer Идентификатор, который вы присвоили загружаемой части.
uploadId Идентификатор составной загрузки, который Object Storage вернул при инициализации.

Заголовки

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

Заголовок Content-Length обязателен. Также обязательны заголовки, перечисленные в таблице ниже.

Заголовок Описание
x-amz-copy-source Имя бакета и ключ объекта, данные которого будут копироваться, разделенные символом /.

Например, x-amz-copy-source: /source_bucket/sourceObject.
x-amz-copy-source-range Диапазон байт для копирования из исходного объекта. Например, если указать x-amz-copy-source-range:bytes=10-36, то Object Storage скопирует с 10-го по 36-й байт исходного объекта.

Если вы хотите добавить условия на копирование, то используйте заголовки, перечисленные в таблице ниже.

Заголовки, описанные в таблице ниже используйте, если вам необходимо изменить поведение метода copy по умолчанию.

Заголовок Описание
x-amz-copy-source-if-match Условие для копирования объекта.

Если ETag объекта равен заданному в заголовке, то объект копируется.

Если условие не выполнено, то Object Storage вернет ошибку 412.

Можно использовать вместе с заголовком x-amz-copy-source-if-unmodified-since.
x-amz-copy-source-if-none-match Условие для копирования объекта.

Если ETag объекта не равен заданному в заголовке, то объект копируется.

Если условие не выполнено, то Object Storage вернет ошибку 412.

Можно использовать вместе с заголовком x-amz-copy-source-if-modified-since.
x-amz-copy-source-if-unmodified-since Условие для копирования объекта.

Объект копируется, если он не изменялся с указанного времени.

Если условие не выполнено, то Object Storage вернет ошибку 412.

Можно использовать вместе с заголовком x-amz-copy-source-if-match.
x-amz-copy-source-if-modified-since Условие для копирования объекта.

Объект копируется, если он изменился с указанного времени.

Если условие не выполнено, то Object Storage вернет ошибку 412.

Можно использовать вместе с заголовком x-amz-copy-source-if-none-match.

Ответ

Заголовки

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

Коды ответов

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

Дополнительно, Object Storage может вернуть ошибки, описанные в таблице ниже.

Ошибка Описание HTTP-код
NoSuchUpload Указанная загрузка не существует. Возможно указан неверный идентификатор загрузки или загрузка была завершена или удалена. 404 Not Found
EntityTooSmall Размер части слишком мал.

Загружаемая часть должна быть не менее 5MB.
400 Bad Request

Схема данных

<CopyObjectResult>
   <LastModified>2019-02-15T14:32:00</LastModified>
   <ETag>"9bgh7535f2734ec974343yuc93985328"</ETag>
</CopyObjectResult>
Элемент Описание
CopyObjectResult Содержит элементы ответа.

Путь: /CopyObjectResult.
ETag ETag результитрующей части составной загрузки.

Путь: /CopyObjectResult/ETag.
LastModified Дата последнего изменения части составной загрузки.

Путь: /CopyObjectResult/LastModified.