upload-part-copy
Описание
Загружает часть объекта, копируя данные из существующего объекта в качестве источника данных. Для указания источника данных добавьте заголовок запроса x-amz-copy-source в свой запрос. Для указания диапазона байтов добавьте заголовок запроса x-amz-copy-source-range в свой запрос.
Сведения о максимальном и минимальном размерах частей и других спецификациях загрузки в несколько частей см. в разделе Ограничения многочастной загрузки в Руководстве пользователя Amazon S3.
Примечание
Вместо копирования данных из существующего объекта в качестве данных части вы можете использовать действие UploadPart для загрузки новых данных как части объекта в запросе.Необходимо инициировать многочастную загрузку перед загрузкой любой части. В ответ на запрос инициализации Amazon S3 возвращает идентификатор загрузки — уникальный идентификатор, который необходимо включить в запрос загрузки части.
Концептуальную информацию о многочастных загрузках см. в разделе Загрузка объектов с помощью многочастной загрузки в Руководстве пользователя Amazon S3. Сведения о копировании объектов с помощью одного атомарного действия по сравнению с многочастной загрузкой см. в разделе Операции с объектами в Руководстве пользователя Amazon S3.
Примечание
Аутентификация и авторизация
Все UploadPartCopy запросы должны быть аутентифицированы и подписаны с использованием учетных данных IAM (идентификатор ключа доступа и секретный ключ доступа для идентификаторов IAM). Все заголовки с префиксом x-amz-, включая x-amz-copy-source, должны быть подписаны. Дополнительную информацию см. в разделе REST Аутентификация.
UploadPartCopy операции API необходимо использовать учетные данные IAM вместо использования временных учетных данных безопасности через CreateSession операцию API.Amazon Web Services CLI или SDKs обрабатывают аутентификацию и авторизацию от вашего имени.
Необходимо иметь READ доступ к исходному объекту и WRITE доступ к ведру назначения.
-
Разрешения на ведра общего назначения — Необходимо иметь разрешения в политике, основанные на типах ведер исходного и целевого ведра в
UploadPartCopyоперации.- Если исходный объект находится в ведре общего назначения, необходимо иметь разрешение **
s3:GetObject** для чтения исходного объекта, который копируется. - Если целевое ведро является ведром общего назначения, необходимо иметь разрешение **
s3:PutObject** для записи копии объекта в целевое ведро. - Для выполнения многочастной загрузки с шифрованием с использованием ключа службы управления ключами запрашивающему необходимо разрешение на
kms:Decryptиkms:GenerateDataKeyдействия по ключу. Запрашивающий также должен иметь разрешения наkms:GenerateDataKeyдействие дляCreateMultipartUploadAPI. Затем запрашивающему нужны разрешения наkms:Decryptдействие наUploadPartиUploadPartCopyAPI. Эти разрешения необходимы, потому что Amazon S3 должен расшифровать и прочитать данные из зашифрованных частей файла, прежде чем завершить многочастную загрузку. Дополнительную информацию о разрешениях KMS см. в разделе Защита данных с помощью шифрования на сервере с помощью KMS в Руководстве пользователя Amazon S3. Сведения о разрешениях, необходимых для использования API многочастной загрузки, см. в разделах Многочастная загрузка и разрешения и API многочастной загрузки и разрешения в Руководстве пользователя Amazon S3.
- Если исходный объект находится в ведре общего назначения, необходимо иметь разрешение **
-
Разрешения на ведерные каталоги — Необходимо иметь разрешения в политике ведра или политике, основанной на идентификаторе IAM, на основе типов исходного и целевого ведра в
UploadPartCopyоперации.- Если исходный объект, который вы хотите скопировать, находится в ведре каталога, необходимо иметь разрешение **
s3express:CreateSession** в элементеActionполитики для чтения объекта. По умолчанию сессия находится в режимеReadWrite. Если вы хотите ограничить доступ, вы можете явно установить ключ условияs3express:SessionModeнаReadOnlyв ведре-источнике копии. - Если целевой объект является ведром каталога, необходимо иметь разрешение **
s3express:CreateSession** в элементеActionполитики для записи объекта в целевое ведро. Ключ условияs3express:SessionModeне может быть установлен наReadOnlyв ведре-назначении копии.
- Если исходный объект, который вы хотите скопировать, находится в ведре каталога, необходимо иметь разрешение **
Если объект зашифрован с помощью SSE-KMS, необходимо также иметь разрешения kms:GenerateDataKey и kms:Decrypt в политиках, основанных на идентификаторах IAM, и политиках ключа KMS для ключа KMS.
Примеры политик см. в разделах Примеры политик ведра для S3 Express One Zone и Политики идентификаторов Amazon Web Services Identity and Access Management (IAM) для S3 Express One Zone в Руководстве пользователя Amazon S3.
-
Ведра общего назначения — Сведения об использовании шифрования на сервере с ключами шифрования, предоставленными клиентом, с помощью
UploadPartCopyоперации см. в разделах CopyObject и UploadPart. -
Ведерные каталоги — Для ведерных каталогов поддерживаются только два варианта шифрования на сервере: шифрование на сервере с ключами Amazon S3 (SSE-S3) (
AES256) и шифрование на сервере с ключами KMS (SSE-KMS) (aws:kms). Дополнительную информацию см. в разделе Защита данных с помощью шифрования на сервере в Руководстве пользователя Amazon S3.
Примечание
CreateMultipartUpload операция и UploadPartCopy операция, заголовки запроса, которые вы предоставляете в CreateMultipartUpload запросе, должны соответствовать параметрам конфигурации шифрования по умолчанию целевого ведра.Ключи ведра S3 не поддерживаются при копировании объектов, зашифрованных с помощью SSE-KMS, из ведер общего назначения в ведра каталогов, из ведер каталогов в ведра общего назначения или между ведрами каталогов с помощью UploadPartCopy. В этом случае Amazon S3 делает вызов KMS каждый раз, когда выполняется запрос копии для объекта, зашифрованного с помощью KMS.
-
Код ошибки:
NoSuchUpload- Описание: Указанная многочастная загрузка не существует. Идентификатор загрузки может быть неверным, или многочастная загрузка может быть прервана или завершена.
- Код состояния HTTP: 404 Not Found
-
Код ошибки:
InvalidRequest- Описание: Указанный источник копии не поддерживается в качестве источника копии диапазона байтов.
- Код состояния HTTP: 400 Bad Request
Синтаксис заголовка HTTP Host
Следующие операции связаны с UploadPartCopy:
- CreateMultipartUpload
- UploadPart
- CompleteMultipartUpload
- AbortMultipartUpload
- ListParts
- ListMultipartUploads
См. также: Документация AWS API
Описание
upload-part-copy
--bucket <value>
--copy-source <value>
[--copy-source-if-match <value>]
[--copy-source-if-modified-since <value>]
[--copy-source-if-none-match <value>]
[--copy-source-if-unmodified-since <value>]
[--copy-source-range <value>]
--key <value>
--part-number <value>
--upload-id <value>
[--sse-customer-algorithm <value>]
[--sse-customer-key <value>]
[--sse-customer-key-md5 <value>]
[--copy-source-sse-customer-algorithm <value>]
[--copy-source-sse-customer-key <value>]
[--copy-source-sse-customer-key-md5 <value>]
[--request-payer <value>]
[--expected-bucket-owner <value>]
[--expected-source-bucket-owner <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--bucket (строка)
Имя ведра.
Примечание
400 Bad Request с кодом ошибки InvalidRequest .Точки доступа - При использовании этого действия с точкой доступа для ведёр общего назначения, необходимо указать псевдоним точки доступа вместо имени ведра или указать ARN точки доступа. При использовании этого действия с точкой доступа для ведёр каталогов, необходимо указать имя точки доступа вместо имени ведра. При использовании ARN точки доступа, запросы должны быть направлены на имя хоста точки доступа. Имя хоста точки доступа имеет вид ИмяТочкиДоступа -ИдентификаторАккаунта .s3-accesspoint.*Регион* .amazonaws.com. При использовании этого действия с точкой доступа через Amazon Web Services SDK, необходимо указать ARN точки доступа вместо имени ведра. Дополнительные сведения об ARN точек доступа см. в разделе Использование точек доступа в руководстве пользователя Amazon S3.
Примечание
S3 на Outposts - При использовании этого действия с S3 на Outposts, запросы должны быть направлены на имя хоста S3 на Outposts. Имя хоста S3 на Outposts имеет вид `` ИмяТочкиДоступа -ИдентификаторАккаунта .*идентификатор-outpost* .s3-outposts.*Регион* .amazonaws.com`` . При использовании этого действия с S3 на Outposts, целевое ведро должно быть ARN точки доступа Outposts или псевдоним точки доступа. Дополнительные сведения о S3 на Outposts см. в разделе Что такое S3 на Outposts? в руководстве пользователя Amazon S3.
--copy-source (строка)
Указывает исходный объект для операции копирования. Вы указываете значение в одном из двух форматов, в зависимости от того, хотите ли вы получить доступ к исходному объекту через точку доступа:
- Для объектов, к которым не осуществляется доступ через точку доступа, укажите имя исходного ведра и ключ исходного объекта, разделенные косой чертой (/). Например, чтобы скопировать объект
reports/january.pdfиз ведраawsexamplebucket, используйтеawsexamplebucket/reports/january.pdf. Значение должно быть закодировано в URL. - Для объектов, к которым осуществляется доступ через точки доступа, укажите Amazon Resource Name (ARN) объекта, как доступного через точку доступа, в формате
arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>. Например, чтобы скопировать объектreports/january.pdfчерез точку доступаmy-access-point, принадлежащую учетной записи123456789012в регионеus-west-2, используйте закодированное в URL значениеarn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf. Значение должно быть закодировано в URL.
Примечание
- Amazon S3 поддерживает операции копирования с использованием точек доступа только тогда, когда исходное и целевое ведра находятся в одном и том же регионе Amazon Web Services.
- Точки доступа не поддерживаются для ведёр каталогов.
В качестве альтернативы, для объектов, доступ к которым осуществляется через Amazon S3 на Outposts, укажите ARN объекта в формате arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key> . Например, чтобы скопировать объект reports/january.pdf через outpost my-outpost, принадлежащий учетной записи 123456789012 в регионе us-west-2 , используйте закодированное в URL значение arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf . Значение должно быть закодировано в URL.
Если в вашем ведре включена версия, у вас могут быть несколько версий одного и того же объекта. По умолчанию, x-amz-copy-source определяет текущую версию исходного объекта для копирования. Чтобы скопировать определенную версию исходного объекта, добавьте ?versionId=<version-id> к заголовку запроса x-amz-copy-source (например, x-amz-copy-source: /awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893 ).
Если текущая версия является маркером удаления и вы не укажете versionId в заголовке запроса x-amz-copy-source, Amazon S3 вернёт ошибку 404 Not Found, так как объект не существует. Если вы укажете versionId в заголовке x-amz-copy-source и versionId является маркером удаления, Amazon S3 вернёт ошибку HTTP 400 Bad Request, так как вы не можете указать маркер удаления как версию для x-amz-copy-source.
Примечание
Ведра каталогов - Версии S3 не включены и не поддерживаются для ведёр каталогов.--copy-source-if-match (строка)
Копирует объект, если его тег сущности (ETag) совпадает с указанным тегом.
Если оба заголовка x-amz-copy-source-if-match и x-amz-copy-source-if-unmodified-since присутствуют в запросе следующим образом:
Условие x-amz-copy-source-if-match равно true, и;
Условие x-amz-copy-source-if-unmodified-since равно false;
Amazon S3 возвращает 200 OK и копирует данные.
--copy-source-if-modified-since (отметка времени)
Копирует объект, если он был изменён после указанного времени.
Если оба заголовка x-amz-copy-source-if-none-match и x-amz-copy-source-if-modified-since присутствуют в запросе следующим образом:
Условие x-amz-copy-source-if-none-match равно false, и;
Условие x-amz-copy-source-if-modified-since равно true;
Amazon S3 возвращает ответный код 412 Precondition Failed.
--copy-source-if-none-match (строка)
Копирует объект, если его тег сущности (ETag) отличается от указанного ETag.
Если оба заголовка x-amz-copy-source-if-none-match и x-amz-copy-source-if-modified-since присутствуют в запросе следующим образом:
Условие x-amz-copy-source-if-none-match равно false, и;
Условие x-amz-copy-source-if-modified-since равно true;
Amazon S3 возвращает ответный код 412 Precondition Failed.
--copy-source-if-unmodified-since (отметка времени)
Копирует объект, если он не был изменён после указанного времени.
Если оба заголовка x-amz-copy-source-if-match и x-amz-copy-source-if-unmodified-since присутствуют в запросе следующим образом:
Условие x-amz-copy-source-if-match равно true, и;
Условие x-amz-copy-source-if-unmodified-since равно false;
Amazon S3 возвращает 200 OK и копирует данные.
--copy-source-range (строка)
--key (строка)
--part-number (целое число)
--upload-id (строка)
--sse-customer-algorithm (строка)
Указывает алгоритм, используемый при шифровании объекта (например, AES256).
Примечание
Данная функция не поддерживается, когда целевое ведро является ведром каталога.--sse-customer-key (строка)
Указывает предоставленный клиентом ключ шифрования для использования Amazon S3 при шифровании данных. Это значение используется для хранения объекта, а затем удаляется; Amazon S3 не хранит ключ шифрования. Ключ должен быть подходящим для использования с алгоритмом, указанным в заголовке x-amz-server-side-encryption-customer-algorithm. Это должен быть тот же ключ шифрования, указанный в запросе инициирования многочастотной загрузки.
Примечание
Данная функция не поддерживается, когда целевое ведро является ведром каталога.--sse-customer-key-md5 (строка)
Указывает 128-битный MD5-хеш ключа шифрования согласно RFC 1321. Amazon S3 использует этот заголовок для проверки целостности сообщения, чтобы убедиться, что ключ шифрования был передан без ошибок.
Примечание
Данная функция не поддерживается, когда целевое ведро является ведром каталога.--copy-source-sse-customer-algorithm (строка)
Указывает алгоритм, используемый при дешифровании исходного объекта (например, AES256).
Примечание
Данная функция не поддерживается, когда исходный объект находится в ведре каталога.--copy-source-sse-customer-key (строка)
Указывает предоставленный клиентом ключ шифрования для Amazon S3 для дешифрования исходного объекта. Ключ шифрования, предоставленный в этом заголовке, должен быть тем, который использовался при создании исходного объекта.
Примечание
Данная функция не поддерживается, когда исходный объект находится в ведре каталога.--copy-source-sse-customer-key-md5 (строка)
Указывает 128-битный MD5-хеш ключа шифрования согласно RFC 1321. Amazon S3 использует этот заголовок для проверки целостности сообщения, чтобы убедиться, что ключ шифрования был передан без ошибок.
Примечание
Данная функция не поддерживается, когда исходный объект находится в ведре каталога.--request-payer (строка)
Подтверждает, что запрашивающий знает, что будет взиматься плата за запрос. Владельцам ведёр не нужно указывать этот параметр в своих запросах. Если у исходного или целевого ведра S3 включён параметр Requester Pays, запрашивающий будет платить за соответствующие расходы на копирование объекта. Сведения о загрузке объектов из ведёр Requester Pays см. в разделе Загрузка объектов из ведёр Requester Pays в руководстве пользователя Amazon S3.
Примечание
Данная функция не поддерживается для ведёр каталогов.Возможные значения:
requester
--expected-bucket-owner (строка)
403 Forbidden (доступ запрещён).--expected-source-bucket-owner (строка)
403 Forbidden (доступ запрещен).--cli-input-json | --cli-input-yaml (строка) Читает аргументы из предоставленной JSON-строки. JSON-строка следует формату, предоставленному --generate-cli-skeleton. Если на командной строке указаны другие аргументы, эти значения перепишут значения, предоставленные JSON. Невозможно передавать произвольные двоичные значения с помощью JSON-значения, так как строка будет воспринята буквально. Это не может быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. Если указано без значения или со значением input, выводит пример JSON-ввода, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если указано yaml-input, будет выведен пример YAML-ввода, который можно использовать с --cli-input-yaml. Если указано значение output, оно проверит входные данные команды и вернёт пример выходного JSON для этой команды. Сгенерированный JSON-скелет не стабилен между версиями AWS CLI, и нет гарантии обратной совместимости в сгенерированном JSON-скелете.
Глобальные параметры
--debug (логическое значение)
Включить отладочную запись в журнал.
--endpoint-url (строка)
Переопределить значение по умолчанию URL команды заданным URL.
--no-verify-ssl (логическое значение)
По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого подключения SSL AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет поведение по умолчанию проверки сертификатов SSL.
--no-paginate (логическое значение)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI сделает только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования вывода команды.
- json
- текст
- таблица
- yaml
- yaml-поток
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использовать определенный профиль из файла с учетными данными.
--region (строка)
Регион для использования. Переопределяет параметры конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/отключить цветной вывод.
- включено
- выключено
- автоматически
--no-sign-request (логическое значение)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
Файл с сертификатами CA для проверки SSL-сертификатов. Переопределяет параметры конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. По умолчанию используется формат base64. Формат base64 ожидает, что двоичные блоки будут предоставлены в виде закодированной строкой base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку, fileb:// всегда будет рассматриваться как двоичный и будет использовать содержимое файла непосредственно независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного формата cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (логическое значение)
Отключить кли-навигатор для вывода.
--cli-auto-prompt (логическое значение)
Автоматически запросить параметры ввода CLI.
--no-cli-auto-prompt (логическое значение)
Отключить автоматический запрос параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы с AWS CLI в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования, характерные для Unix. Эти примеры потребуют адаптации к правилам цитирования вашей оболочки. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Для загрузки части объекта, скопировав данные из существующего объекта в качестве источника данных
Следующий пример загрузки части, скопировав данные из существующего объекта в качестве источника данных.
aws s3api upload-part-copy \
--bucket amzn-s3-demo-bucket \
--key "Map_Data_June.mp4" \
--copy-source "amzn-s3-demo-bucket/copy_of_Map_Data_June.mp4" \
--part-number 1 \
--upload-id "bq0tdE1CDpWQYRPLHuNG50xAT6pA5D.m_RiBy0ggOH6b13pVRY7QjvLlf75iFdJqp_2wztk5hvpUM2SesXgrzbehG5hViyktrfANpAD0NO.Nk3XREBqvGeZF6U3ipiSm"
Вывод:
{
"CopyPartResult": {
"LastModified": "2019-12-13T23:16:03.000Z",
"ETag": "\"711470fc377698c393d94aed6305e245\""
}
}
Вывод
CopySourceVersionId -> (строка)
Версия исходного объекта, который был скопирован, если вы включили версионирование в исходном ведре.
Примечание
Эта функция не поддерживается, когда исходный объект находится в ведре каталогов.CopyPartResult -> (структура)
Контейнер для всех элементов ответа.
ETag -> (строка)
LastModified -> (метка времени)
ChecksumCRC32 -> (строка)
CRC32 сумму контрольной цифры части. Дополнительную информацию см. в разделе Проверка целостности объектов в Руководстве пользователя Amazon S3.ChecksumCRC32C -> (строка)
CRC32C сумму контрольной цифры части. Дополнительную информацию см. в разделе Проверка целостности объектов в Руководстве пользователя Amazon S3.ChecksumCRC64NVME -> (строка)
CRC64NVME сумма контрольной цифры части. Эта сумма контрольной цифры присутствует, если запрос на многочастную загрузку был создан с алгоритмом CRC64NVME суммы контрольной цифры для загружаемого объекта. Дополнительную информацию см. в разделе Проверка целостности объектов в Руководстве пользователя Amazon S3.ChecksumSHA1 -> (строка)
SHA1 сумму контрольной цифры части. Дополнительную информацию см. в разделе Проверка целостности объектов в Руководстве пользователя Amazon S3.ChecksumSHA256 -> (строка)
SHA256 сумму контрольной цифры части. Дополнительную информацию см. в разделе Проверка целостности объектов в Руководстве пользователя Amazon S3.ServerSideEncryption -> (строка)
AES256, aws:kms).SSECustomerAlgorithm -> (строка)
Если запрашивалось шифрование на стороне сервера с использованием предоставленного клиентом ключа шифрования, в ответе будет содержаться этот заголовок для подтверждения используемого алгоритма шифрования.
Примечание
Эта функция не поддерживается для ведер каталогов.SSECustomerKeyMD5 -> (строка)
Если запрашивалось шифрование на стороне сервера с использованием предоставленного клиентом ключа шифрования, в ответе будет содержаться этот заголовок для обеспечения проверки целостности сообщения при обмене клиентом предоставленного ключа шифрования.
Примечание
Эта функция не поддерживается для ведер каталогов.SSEKMSKeyId -> (строка)
BucketKeyEnabled -> (логическое значение)
RequestCharged -> (строка)
Если присутствует, указывает, что запрос был успешно оплачен запрашивающим.
Примечание
Эта функция не поддерживается для ведер каталогов.
© Copyright 2025, Amazon Web Services. Created using Sphinx.