Метод copyPart
Копирует часть объекта.
Имеет такую же функциональность, как и Метод uploadPart, только данные передаются не в теле запроса, а копируются из существующего объекта.
Подробнее о подготовке к работе с API и общем виде запроса см. в разделе Как пользоваться S3 API.
Запрос
PUT /{bucket}/{key}?partNumber=PartNumber&uploadId=UploadId HTTP/2
Path параметры
Параметр | Описание |
---|---|
bucket |
Имя результирующего бакета. |
key |
Ключ результирующего объекта. Идентификатор, под которым объект сохраняется в Object Storage. |
Query параметры
Параметр | Описание |
---|---|
partNumber |
Идентификатор, который вы присвоили загружаемой части. |
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-й байт исходного объекта. |
Заголовок Content-MD5
обязателен, если в бакете настроены блокировки версий объектов по умолчанию.
Если вы хотите добавить условия на копирование, то используйте заголовки, перечисленные в таблице ниже.
Заголовки, описанные в таблице ниже используйте, если вам необходимо изменить поведение метода 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 . |