Метод 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 |
Схема данных
<ListBucketResult
xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<KeyCount>1</KeyCount>
<Name>my-sample-bucket</Name>
<Prefix></Prefix>
<MaxKeys>1000</MaxKeys>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>text.txt</Key>
<LastModified>2025-05-15T07:23:08.030Z</LastModified>
<Owner>
<ID>ajegtlf2q28a********</ID>
<DisplayName>ajegtlf2q28a********</DisplayName>
</Owner>
<ETag>"f75a361db63aa4722fb8e083********"</ETag>
<Size>103</Size>
<StorageClass>STANDARD</StorageClass>
<TagSet></TagSet>
</Contents>
</ListBucketResult>
| Элемент | Описание |
|---|---|
CopyObjectResult |
Содержит элементы ответа. Путь: /CopyObjectResult. |
ETag |
ETag результирующей части составной загрузки.Путь: /CopyObjectResult/ETag. |
LastModified |
Дата последнего изменения части составной загрузки. Путь: /CopyObjectResult/LastModified. |