copy-object
Описание
Создаёт копию объекта, уже хранящегося в Amazon S3.
Примечание
Вы можете хранить отдельные объекты объёмом до 5 ТБ в Amazon S3. Вы создаёте копию объекта размером до 5 ГБ в одном атомарном действии с помощью этого API. Однако, для копирования объекта большего размера, чем 5 ГБ, необходимо использовать API частичного загрузки Upload Part - Copy (UploadPartCopy). Дополнительную информацию можно найти в разделе Копирование объекта с помощью API REST частичной загрузки.Вы можете копировать отдельные объекты между обычными ведрами, между ведрами каталогов и между обычными ведрами и ведрами каталогов.
Примечание
- Amazon S3 поддерживает операции копирования с использованием точек доступа многорегионального доступа только в качестве места назначения при использовании ARN точки доступа многорегионального доступа.
- Ведра каталогов - Для ведёр каталогов необходимо отправлять запросы для этой операции API к зональному конечной точке. Эти конечные точки поддерживают запросы в стиле виртуального хостинга в формате ``https://amzn-s3-demo-bucket .s3express-zone-id .*region-code* .amazonaws.com/key-name `` . Запросы в стиле пути не поддерживаются. Дополнительную информацию о конечных точках в зонах доступности можно найти в разделе Региональные и зональные конечные точки для ведёр каталогов в зонах доступности в Руководстве пользователя Amazon S3. Дополнительную информацию о конечных точках в локальных зонах можно найти в разделе Концепции для ведёр каталогов в локальных зонах в Руководстве пользователя Amazon S3.
- Конечные точки VPC не поддерживают межрегиональные запросы (включая копии). Если вы используете конечные точки VPC, ваши исходное и целевое ведра должны находиться в той же области Amazon Web Services, что и ваша конечная точка VPC.
И область, откуда вы хотите скопировать объект, и область, в которую вы хотите скопировать объект, должны быть включены для вашей учётной записи. Дополнительную информацию о включении области для вашей учётной записи можно найти в разделе Включение или отключение области для автономных учётных записей в Руководстве по управлению учётными записями Amazon Web Services.
Предупреждение
Ускорение передачи Amazon S3 не поддерживает межрегиональные копии. Если вы запрашиваете межрегиональную копию с использованием конечной точки ускорения передачи, вы получите ошибку 400 Bad Request. Дополнительную информацию можно найти в разделе Ускорение передачи.
Аутентификация и авторизация
Все CopyObject запросы должны быть аутентифицированы и подписаны с использованием учетных данных IAM (идентификатор ключа доступа и секретный ключ доступа для идентификаторов IAM). Все заголовки с префиксом x-amz-, включая x-amz-copy-source, должны быть подписаны. Дополнительную информацию можно найти в разделе Аутентификация REST.
CopyObject, а не временные учетные данные безопасности через операцию API CreateSession.Amazon Web Services CLI или SDK обрабатывают аутентификацию и авторизацию от вашего имени.
Вы должны иметь право чтения на исходный объект и право записи на целевое ведро.
-
Разрешения для ведёр общего назначения - У вас должны быть разрешения в политике IAM, основанные на типах исходного и целевого ведёр в операции
CopyObject.- Если исходный объект находится в ведре общего назначения, у вас должно быть разрешение **
s3:GetObject** для чтения исходного объекта, который копируется. - Если целевое ведро является ведром общего назначения, у вас должно быть разрешение **
s3:PutObject** для записи копии объекта в целевое ведро.
- Если исходный объект находится в ведре общего назначения, у вас должно быть разрешение **
-
Разрешения для ведёр каталогов - У вас должны быть разрешения в политике ведра или политике на основе идентификатора IAM, основанные на типах исходного и целевого ведёр в операции
CopyObject.- Если исходный объект, который вы хотите скопировать, находится в ведре каталога, у вас должно быть разрешение **
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 и Политики IAM (на основе идентификаторов) для S3 Express One Zone в Руководстве пользователя Amazon S3.
Когда запрос является запросом HTTP 1.1, ответ имеет структуру с чанками. Когда запрос не является запросом HTTP 1.1, ответ не содержит Content-Length. Вы всегда должны прочитать весь тело ответа, чтобы проверить, удалась ли операция копирования.
-
Если копирование выполнено успешно, вы получите ответ с информацией о скопированном объекте.
-
Запрос на копирование может вернуть ошибку, когда Amazon S3 получает запрос на копирование или во время копирования файлов Amazon S3. Ответ
200 OKможет содержать либо успешное выполнение, либо ошибку.- Если ошибка возникает до начала действия копирования, вы получаете стандартную ошибку Amazon S3.
- Если ошибка возникает во время операции копирования, ответ об ошибке встраивается в ответ
200 OK. Например, при межрегиональном копировании вы можете столкнуться с ограничением ресурсов и получить ответ200 OK. Дополнительную информацию можно найти в разделе Устранение ошибки 200 при копировании объектов в Amazon S3. Код состояния200 OKозначает, что копирование было принято, но это не означает, что копирование завершено. Другой пример: если вы отключитесь от Amazon S3 до завершения копирования, Amazon S3 может отменить копирование, и вы можете получить ответ200 OK. Вы должны оставаться подключёнными к Amazon S3 до тех пор, пока весь ответ не будет успешно получен и обработан. Если вы вызываете эту операцию API напрямую, убедитесь, что ваше приложение разработано таким образом, чтобы анализировать содержимое ответа и обрабатывать его надлежащим образом. Если вы используете Amazon Web Services SDK, SDK обрабатывают это условие. SDK обнаруживают встроенную ошибку и применяют обработку ошибок в соответствии с вашими настройками (включая автоматическое повторное выполнение запроса по мере необходимости). Если условие сохраняется, SDK выбросят исключение (или, для SDK, которые не используют исключения, они возвращают ошибку).
Плата
Плата за запрос на копирование зависит от класса хранения и области, которые вы указываете для целевого объекта. Запрос также может привести к плате за получение данных для источника, если исходный класс хранения взимает плату за получение данных. Если источник копирования находится в другой области, плата за передачу данных списывается с учётной записи источника копирования. Информацию о ценообразовании можно найти в разделе Цены Amazon S3.
- Ведра каталогов - Синтаксис заголовка HTTP Host имеет вид `` Имя-ведъра .s3express-идентификатор-зоны .*код-региона* .amazonaws.com``.
- Amazon S3 на Outposts - Когда вы используете это действие с Amazon S3 на Outposts через API REST, вы должны направить запросы к имени хоста Amazon S3 на Outposts. Имя хоста Amazon S3 на Outposts имеет вид `` Имя-точки-доступа -Идентификатор-учётной-записи .*идентификатор-Outpost* .s3-outposts.*Регион* .amazonaws.com``. Имя хоста не требуется при использовании Amazon Web Services CLI или SDK.
Следующие операции связаны с CopyObject:
- PutObject
- GetObject
См. также: AWS документация API
Синопсис
copy-object
[--acl <value>]
--bucket <value>
[--cache-control <value>]
[--checksum-algorithm <value>]
[--content-disposition <value>]
[--content-encoding <value>]
[--content-language <value>]
[--content-type <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>]
[--expires <value>]
[--grant-full-control <value>]
[--grant-read <value>]
[--grant-read-acp <value>]
[--grant-write-acp <value>]
--key <value>
[--metadata <value>]
[--metadata-directive <value>]
[--tagging-directive <value>]
[--server-side-encryption <value>]
[--storage-class <value>]
[--website-redirect-location <value>]
[--sse-customer-algorithm <value>]
[--sse-customer-key <value>]
[--sse-customer-key-md5 <value>]
[--ssekms-key-id <value>]
[--ssekms-encryption-context <value>]
[--bucket-key-enabled | --no-bucket-key-enabled]
[--copy-source-sse-customer-algorithm <value>]
[--copy-source-sse-customer-key <value>]
[--copy-source-sse-customer-key-md5 <value>]
[--request-payer <value>]
[--tagging <value>]
[--object-lock-mode <value>]
[--object-lock-retain-until-date <value>]
[--object-lock-legal-hold-status <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]
Параметры
--acl (строка)
Список управления доступом (ACL) по умолчанию, который нужно применить к объекту.
При копировании объекта метаданные ACL не сохраняются и по умолчанию устанавливаются в private. Только владелец имеет полный контроль доступа. Чтобы переопределить настройки ACL по умолчанию, укажите новый ACL при создании запроса на копирование. Дополнительная информация приведена в разделе Использование ACL .
Если целевой бакет, в который вы копируете объекты, использует настройку «владелец ведра устанавливает владение объектом» для S3 Object Ownership, ACL отключены и больше не влияют на разрешения. Ведра, использующие эту настройку, принимают только PUT запросы, в которых не указан ACL, или PUT запросы, в которых указан ACL «полный контроль доступа владельца ведра», например, bucket-owner-full-control предопределенный ACL или эквивалентный вариант этого ACL, выраженный в формате XML. Дополнительная информация в разделе Управление владения объектами и отключение ACL в Руководстве пользователя Amazon S3 .
Примечание
- Если ваш целевой бакет использует настройку «владелец ведра устанавливает владение объектом» для Object Ownership, все объекты, записанные в бакет любым аккаунтом, будут принадлежать владельцу ведра.
- Эта функциональность не поддерживается для ведер каталогов.
- Эта функциональность не поддерживается для Amazon S3 на Outposts.
Возможные значения:
privatepublic-readpublic-read-writeauthenticated-readaws-exec-readbucket-owner-readbucket-owner-full-control
--bucket (строка)
Имя целевого ведра.
Примечание
400 Bad Request с кодом ошибки InvalidRequest .Точки доступа - При использовании этого действия с точкой доступа для ведер общего назначения необходимо указать псевдоним точки доступа вместо имени ведра или указать ARN точки доступа. При использовании этого действия с точкой доступа для ведер каталогов необходимо указать имя точки доступа вместо имени ведра. При использовании ARN точки доступа необходимо направить запросы на хост-имя точки доступа. Хост-имя точки доступа имеет вид ИмяТочкиДоступа -ИдентификаторАккаунта .s3-accesspoint.*Регион* .amazonaws.com. При использовании этого действия с точкой доступа через Amazon Web Services SDKs необходимо указать ARN точки доступа вместо имени ведра. Дополнительную информацию о ARN точек доступа см. в разделе Использование точек доступа в Руководстве пользователя Amazon S3 .
Примечание
S3 на Outposts - При использовании этого действия с S3 на Outposts необходимо использовать ARN точки доступа ведра Outpost или псевдоним точки доступа для целевого ведра. Вы можете копировать объекты только внутри одного ведра Outpost. Не поддерживается копирование объектов между различными Outposts Amazon Web Services, между ведрами в одном Outpost или между ведрами Outpost и другими типами ведер. Дополнительная информация о S3 на Outposts в разделе Что такое S3 на Outposts? в Руководстве S3 на Outposts . При использовании этого действия с S3 на Outposts через REST API, необходимо направить запросы на хост-имя S3 на Outposts в формате `` ИмяТочкиДоступа -ИдентификаторАккаунта .*outpostID* .s3-outposts.*Регион* .amazonaws.com`` . Хост-имя не требуется при использовании Amazon Web Services CLI или SDKs.
--cache-control (строка)
--checksum-algorithm (строка)
Указывает алгоритм, который Amazon S3 должен использовать для создания контрольной суммы объекта. Дополнительная информация в разделе Проверка целостности объектов в Руководстве пользователя Amazon S3 .
При копировании объекта, если у исходного объекта есть контрольная сумма, то это значение контрольной суммы будет скопировано в новый объект по умолчанию. Если запрос CopyObject не содержит заголовка x-amz-checksum-algorithm, алгоритм контрольной суммы будет скопирован из исходного объекта в целевой объект (если он есть в исходном объекте). Вы можете дополнительно указать другой алгоритм контрольной суммы с помощью заголовка x-amz-checksum-algorithm. Неизвестные или неподдерживаемые значения приведут к ответу с кодом состояния HTTP 400 Bad Request .
Примечание
Для ведер каталогов, когда вы используете Amazon Web Services SDKs,CRC32 — это алгоритм контрольной суммы по умолчанию, используемый для повышения производительности.Возможные значения:
CRC32CRC32CSHA1SHA256CRC64NVME
--content-disposition (строка)
--content-encoding (строка)
Указывает, какие кодировки содержимого были применены к объекту, и, следовательно, какие механизмы декодирования должны быть применены для получения типа носителя, указанного в заголовке Content-Type.
Примечание
Для ведер каталогов, в этом заголовке поддерживается только значениеaws-chunked.--content-language (строка)
--content-type (строка)
--copy-source (строка)
Указывает исходный объект для операции копирования. Исходный объект может быть до 5 ГБ. Если исходный объект был загружен с помощью многочастной загрузки, копия объекта будет объектом из одной части после копирования исходного объекта в целевое ведро.
Вы указываете значение исходного объекта в одном из двух форматов, в зависимости от того, хотите ли вы получить доступ к исходному объекту через точку доступа:
- Для объектов, не доступных через точку доступа, укажите имя исходного ведра и ключ исходного объекта, разделенные слешем (/). Например, чтобы скопировать объект
reports/january.pdfиз ведра общего назначенияawsexamplebucket, используйтеawsexamplebucket/reports/january.pdf. Значение должно быть закодировано по URL. Чтобы скопировать объектreports/january.pdfиз каталожного ведраawsexamplebucket--use1-az5--x-s3, используйтеawsexamplebucket--use1-az5--x-s3/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 по умолчанию определяет текущую версию объекта для копирования. Если текущая версия — маркер удаления, Amazon S3 ведет себя так, как если бы объект был удален. Чтобы скопировать другую версию, используйте параметр запроса versionId. В частности, добавьте ?versionId=<version-id> к значению (например, awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893 ). Если вы не укажете идентификатор версии, Amazon S3 скопирует последнюю версию исходного объекта.
Если вы включите версионирование в целевом ведре, Amazon S3 сгенерирует уникальный идентификатор версии для скопированного объекта. Этот идентификатор версии отличается от идентификатора версии исходного объекта. Amazon S3 возвращает идентификатор версии скопированного объекта в заголовке ответа x-amz-version-id.
Если вы не включите версионирование или приостановите его в целевом ведре, идентификатор версии, который Amazon S3 генерирует в заголовке ответа x-amz-version-id, всегда равен null.
Примечание
Ведра каталогов - Версионирование S3 не включено и не поддерживается для ведер каталогов.--copy-source-if-match (строка)
Копирует объект, если его тег сущности (ETag) соответствует указанному тегу.
Если оба заголовка x-amz-copy-source-if-match и x-amz-copy-source-if-unmodified-since присутствуют в запросе и соответствуют следующему, Amazon S3 возвращает 200 OK и копирует данные:
-
x-amz-copy-source-if-matchусловие истинно -
x-amz-copy-source-if-unmodified-sinceусловие ложно
--copy-source-if-modified-since (время)
Копирует объект, если он был изменён после указанного времени.
Если оба заголовка x-amz-copy-source-if-none-match и x-amz-copy-source-if-modified-since присутствуют в запросе и соответствуют следующему, Amazon S3 возвращает код ответа 412 Precondition Failed:
-
x-amz-copy-source-if-none-matchусловие ложно -
x-amz-copy-source-if-modified-sinceусловие истинно
--copy-source-if-none-match (строка)
Копирует объект, если его тег сущности (ETag) отличается от указанного ETag.
Если оба заголовка x-amz-copy-source-if-none-match и x-amz-copy-source-if-modified-since присутствуют в запросе и соответствуют следующему, Amazon S3 возвращает код ответа 412 Precondition Failed:
-
x-amz-copy-source-if-none-matchусловие ложно -
x-amz-copy-source-if-modified-sinceусловие истинно
--copy-source-if-unmodified-since (время)
Копирует объект, если он не был изменен с указанного момента.
Если в запросе присутствуют заголовки x-amz-copy-source-if-match и x-amz-copy-source-if-unmodified-since и они вычисляются следующим образом, Amazon S3 возвращает 200 OK и копирует данные:
-
x-amz-copy-source-if-matchусловие вычисляется как истинное -
x-amz-copy-source-if-unmodified-sinceусловие вычисляется как ложное
--expires (отметка времени)
--grant-full-control (строка)
Предоставляет получателю разрешения READ, READ_ACP и WRITE_ACP на объект.
Примечание
- Эта функциональность не поддерживается для ведер каталогов.
- Эта функциональность не поддерживается для Amazon S3 в Outposts.
--grant-read (строка)
Разрешает получателю читать данные объекта и его метаданные.
Примечание
- Эта функциональность не поддерживается для ведер каталогов.
- Эта функциональность не поддерживается для Amazon S3 в Outposts.
--grant-read-acp (строка)
Разрешает получателю читать ACL объекта.
Примечание
- Эта функциональность не поддерживается для ведер каталогов.
- Эта функциональность не поддерживается для Amazon S3 в Outposts.
--grant-write-acp (строка)
Разрешает получателю записывать ACL для соответствующего объекта.
Примечание
- Эта функциональность не поддерживается для ведер каталогов.
- Эта функциональность не поддерживается для Amazon S3 в Outposts.
--key (строка)
--metadata (карта)
Карта метаданных для хранения с объектом в S3.
ключ -> (строка)
значение -> (строка)
Сокращенная синтаксис:
KeyName1=string,KeyName2=string
Синтаксис JSON:
{"string": "string"
...}
--metadata-directive (строка)
Указывает, копируются ли метаданные из исходного объекта или заменяются метаданными, предоставленными в запросе. При копировании объекта можно сохранить все метаданные (по умолчанию) или указать новые. Если этот заголовок не указан, COPY — это поведение по умолчанию.
s3:x-amz-metadata-directive для применения определенного поведения метаданных при загрузке объектов. Дополнительную информацию см. в примерах ключей условий Amazon S3 в Руководстве пользователя Amazon S3.Примечание
x-amz-website-redirect-location уникален для каждого объекта и не копируется при использовании заголовка x-amz-metadata-directive. Чтобы скопировать значение, вы должны указать x-amz-website-redirect-location в заголовке запроса.Возможные значения:
COPYREPLACE
--tagging-directive (строка)
Указывает, копируется ли набор тегов объекта из исходного объекта или заменяется наборам тегов, предоставленных в запросе.
Значение по умолчанию — COPY.
Примечание
CopyObject поддерживается только пустой набор тегов. Все запросы, пытающиеся записать непустые теги в ведра каталогов, получат код состояния 501 Not Implemented. Когда целевое ведро является ведром каталога, вы получите ответ 501 Not Implemented в любой из следующих ситуаций:- При попытке
COPYнабора тегов из объекта исходного S3 с непустыми тегами. - При попытке
REPLACEнабора тегов исходного объекта и установке непустого значения дляx-amz-tagging. - При отсутствии заголовка
x-amz-tagging-directive, и исходный объект имеет непустые теги. Это связано с тем, что значение по умолчанию дляx-amz-tagging-directiveравноCOPY.
Поскольку для ведер каталогов в операции CopyObject поддерживается только пустой набор тегов, разрешены следующие ситуации:
- При попытке
COPYнабора тегов из исходного объекта ведра каталога, который не имеет тегов, в ведро общего назначения. Он копирует пустой набор тегов в целевой объект. - При попытке
REPLACEнабора тегов исходного объекта ведра каталога и установке значенияx-amz-taggingцелевого объекта ведра каталога в пустое значение. - При попытке
REPLACEнабора тегов исходного объекта ведра общего назначения с непустыми тегами и установке значенияx-amz-taggingцелевого объекта ведра каталога в пустое значение. - При попытке
REPLACEнабора тегов исходного объекта ведра каталога и отсутствии установки значенияx-amz-taggingцелевого объекта ведра каталога. Это связано с тем, что значение по умолчанию дляx-amz-taggingявляется пустым значением.
Возможные значения:
COPYREPLACE
--server-side-encryption (строка)
Алгоритм шифрования на стороне сервера, используемый при хранении этого объекта в Amazon S3. Нераспознанные или неподдерживаемые значения не запишут целевой объект и получат ответ 400 Bad Request.
Amazon S3 автоматически шифрует все новые объекты, которые копируются в ведро S3. При копировании объекта, если вы не указываете информацию о шифровании в запросе на копирование, параметр шифрования целевого объекта устанавливается в соответствии с настройками шифрования по умолчанию целевого ведра. По умолчанию все ведра имеют базовый уровень конфигурации шифрования, использующий шифрование на стороне сервера с управляемыми ключами Amazon S3 (SSE-S3). Если в целевом ведре конфигурация шифрования по умолчанию отличается, Amazon S3 использует соответствующий ключ шифрования для шифрования копии целевого объекта.
С шифрованием на стороне сервера Amazon S3 шифрует ваши данные при записи на диски в своих центрах обработки данных и расшифровывает их при доступе. Дополнительную информацию о шифровании на стороне сервера см. в Руководстве пользователя Amazon S3 .
- Для ведер общего назначения доступны следующие поддерживаемые параметры шифрования на стороне сервера: шифрование на стороне сервера с ключами Key Management Service (KMS) (SSE-KMS), двухслойное шифрование на стороне сервера с ключами Amazon Web Services KMS (DSSE-KMS) и шифрование на стороне сервера с предоставленными клиентом ключами шифрования (SSE-C). Amazon S3 использует соответствующий ключ KMS или предоставленный клиентом ключ для шифрования копии целевого объекта.
- При выполнении операции
CopyObject, если вы хотите использовать другой тип настроек шифрования для целевого объекта, вы можете указать соответствующие заголовки, относящиеся к шифрованию, чтобы зашифровать целевой объект с помощью управляемого ключа Amazon S3, ключа KMS или предоставленного клиентом ключа. Если параметр шифрования в запросе отличается от конфигурации шифрования по умолчанию целевого ведра, параметр шифрования в запросе имеет приоритет.
- Для ведер каталогов поддерживаются только два параметра шифрования на стороне сервера: шифрование на стороне сервера с управляемыми ключами Amazon S3 (SSE-S3) (
AES256) и шифрование на стороне сервера с ключами KMS (SSE-KMS) (aws:kms). Рекомендуется, чтобы шифрование по умолчанию ведра использовало желаемую конфигурацию шифрования, и вы не переопределяли шифрование по умолчанию ведра в своих запросахCreateSessionили запросах создания объектовPUT. Тогда новые объекты будут автоматически зашифрованы с желаемыми настройками шифрования. Дополнительную информацию см. в разделе Защита данных с помощью шифрования на стороне сервера в Руководстве пользователя Amazon S3. Дополнительную информацию о поведении переопределения шифрования в ведрах каталогов см. в разделе Указание шифрования на стороне сервера с помощью KMS для новых загрузок объектов. - Чтобы зашифровать новые копии объектов в ведро каталога с помощью SSE-KMS, рекомендуется указать SSE-KMS в качестве конфигурации шифрования по умолчанию ведра каталога с ключом KMS (конкретно, управляемым клиентом ключом). Управляемый Amazon Web Services ключ (
aws/s3) не поддерживается. Ваша конфигурация SSE-KMS может поддерживать только 1 управляемый клиентом ключ на ведро каталога на протяжении всего срока службы ведра. После указания управляемого клиентом ключа для SSE-KMS, вы не можете переопределять управляемый клиентом ключ для конфигурации SSE-KMS ведра. Затем, когда вы выполняете операциюCopyObjectи хотите указать параметры шифрования на стороне сервера для новых копий объектов с SSE-KMS в заголовках запроса, относящихся к шифрованию, вы должны убедиться, что ключ шифрования совпадает с управляемым клиентом ключом, который вы указали для конфигурации шифрования по умолчанию ведра каталога.
Возможные значения:
AES256aws:kmsaws:kms:dsse
--storage-class (строка)
Если заголовок x-amz-storage-class не используется, скопированный объект будет храниться в классе хранения STANDARD по умолчанию. Класс хранения STANDARD обеспечивает высокую надёжность и доступность. В зависимости от потребностей производительности, вы можете указать другой класс хранения.
Примечание
-
Вёдра каталогов - Вёдра каталогов поддерживают только
EXPRESS_ONEZONE(класс хранения S3 Express One Zone) в зонах доступности иONEZONE_IA(класс хранения S3 One Zone-Infrequent Access) в выделенных локальных зонах. Неподдерживаемые значения класса хранения не запишут целевой объект и ответят кодом состояния HTTP400 Bad Request. -
Amazon S3 на Outposts - S3 на Outposts использует только класс хранения
OUTPOSTS.
Вы можете использовать действие CopyObject для изменения класса хранения объекта, уже хранящегося в Amazon S3, используя заголовок x-amz-storage-class. Дополнительную информацию см. в разделе «Классы хранения» в руководстве пользователя Amazon S3.
Перед использованием объекта в качестве исходного объекта для операции копирования, необходимо восстановить его копию, если он соответствует одному из следующих условий:
- Класс хранения исходного объекта - это
GLACIERилиDEEP_ARCHIVE. - Класс хранения исходного объекта -
INTELLIGENT_TIERING, а уровень доступа S3 Intelligent-Tiering -Archive AccessилиDeep Archive Access.
Дополнительную информацию см. в разделах «Восстановление объекта» и «Копирование объектов» в руководстве пользователя Amazon S3.
Возможные значения:
STANDARDREDUCED_REDUNDANCYSTANDARD_IAONEZONE_IAINTELLIGENT_TIERINGGLACIERDEEP_ARCHIVEOUTPOSTSGLACIER_IRSNOWEXPRESS_ONEZONE
--website-redirect-location (строка)
Если целевое ведро настроено как веб-сайт, перенаправляет запросы на эту копию объекта на другой объект в том же ведре или на внешний URL-адрес. Amazon S3 сохраняет значение этого заголовка в метаданных объекта. Это значение уникально для каждого объекта и не копируется при использовании заголовка x-amz-metadata-directive. Вместо этого вы можете указать этот заголовок в сочетании с заголовком x-amz-metadata-directive.
Примечание
Данная функциональность не поддерживается для вёдер каталогов.--sse-customer-algorithm (строка)
Указывает алгоритм, используемый при шифровании объекта (например, AES256).
При выполнении операции CopyObject, если вы хотите использовать другой тип настроек шифрования для целевого объекта, вы можете указать соответствующие заголовки шифрования для шифрования целевого объекта с помощью управляемого Amazon S3 ключа, ключа KMS или предоставленного пользователем ключа. Если настройка шифрования в вашем запросе отличается от стандартной настройки шифрования целевого ведра, настройка шифрования в вашем запросе имеет приоритет.
Примечание
Данная функциональность не поддерживается, когда целевое ведро является ведром каталога.--sse-customer-key (строка)
Указывает предоставленный пользователем ключ шифрования для использования Amazon S3 при шифровании данных. Это значение используется для хранения объекта, а затем удаляется. Amazon S3 не хранит ключ шифрования. Ключ должен быть подходящим для использования с алгоритмом, указанным в заголовке x-amz-server-side-encryption-customer-algorithm.
Примечание
Данная функциональность не поддерживается, когда целевое ведро является ведром каталога.--sse-customer-key-md5 (строка)
Указывает 128-битный MD5 дайджест ключа шифрования в соответствии с RFC 1321. Amazon S3 использует этот заголовок для проверки целостности сообщения, чтобы гарантировать, что ключ шифрования был передан без ошибок.
Примечание
Данная функциональность не поддерживается, когда целевое ведро является ведром каталога.--ssekms-key-id (строка)
Указывает идентификатор ключа KMS (идентификатор ключа, ARN ключа или псевдоним ключа), который используется для шифрования объекта. Все запросы GET и PUT для объекта, защищённого KMS, будут завершаться ошибкой, если они не выполнены через SSL или с использованием SigV4. Дополнительную информацию о настройке официально поддерживаемых SDK Amazon Web Services и Amazon Web Services CLI см. в разделе «Указание версии подписи в аутентификации запроса» в руководстве пользователя Amazon S3.
x-amz-server-side-encryption для aws:kms. Затем заголовок x-amz-server-side-encryption-aws-kms-key-id неявно использует стандартный идентификатор управляемого пользователем ключа KMS ведра. Если вы хотите явно задать заголовок x-amz-server-side-encryption-aws-kms-key-id, он должен соответствовать стандартному управляемому пользователем ключу ведра (используя идентификатор или ARN ключа, а не псевдоним). Настройка SSE-KMS может поддерживать только 1 управляемый пользователем ключ на весь срок службы вёдра каталога. Управляемый Amazon Web Services ключ (aws/s3) не поддерживается. Неправильное указание ключа приведёт к ошибке HTTP 400 Bad Request.--ssekms-encryption-context (строка)
Указывает контекст шифрования Amazon Web Services KMS в качестве дополнительного контекста шифрования для использования при шифровании целевого объекта. Значение этого заголовка - это строка UTF-8 в кодировке base64, содержащая JSON с парами ключ-значение контекста шифрования.
Вёдра общего назначения - Это значение должно быть явно добавлено для указания контекста шифрования для запросов CopyObject, если вы хотите дополнительный контекст шифрования для своего целевого объекта. Дополнительный контекст шифрования исходного объекта не будет скопирован в целевой объект. Дополнительную информацию см. в разделе «Контекст шифрования» в руководстве пользователя Amazon S3.
Вёдра каталогов - Вы можете дополнительно указать значение контекста шифрования. Оно должно соответствовать стандартному контексту шифрования - ARN ведра. Дополнительное значение контекста шифрования не поддерживается.
--bucket-key-enabled | --no-bucket-key-enabled (булево)
Указывает, должен ли Amazon S3 использовать ключ ведра S3 для шифрования объекта с использованием шифрования на стороне сервера с ключами службы управления ключами (KMS) (SSE-KMS). Если целевой объект использует SSE-KMS, вы можете включить ключ ведра S3 для объекта.
Установка этого заголовка в значение true заставляет Amazon S3 использовать ключ ведра S3 для шифрования объекта с SSE-KMS. Указание этого заголовка с действием COPY не влияет на настройки ведра для ключа ведра S3.
Дополнительную информацию см. в разделе «Ключи ведра Amazon S3» в руководстве пользователя Amazon S3.
Примечание
Вёдра каталогов - Ключи ведра S3 не поддерживаются. При копировании объектов, зашифрованных SSE-KMS, из вёдер общего назначения в вёдра каталогов, из вёдер каталогов в вёдра общего назначения или между вёдрами каталогов через CopyObject, Amazon S3 выполняет вызов KMS каждый раз, когда выполняется запрос на копирование объекта, зашифрованного KMS.--copy-source-sse-customer-algorithm (строка)
Указывает алгоритм, используемый при расшифровке исходного объекта (например, AES256).
Если исходный объект для копирования хранится в Amazon S3 с использованием SSE-C, необходимо предоставить необходимую информацию о шифровании в вашем запросе, чтобы Amazon S3 мог расшифровать объект для копирования.
Примечание
Данная функциональность не поддерживается, когда исходный объект находится в ведре каталога.--copy-source-sse-customer-key (строка)
Указывает предоставленный пользователем ключ шифрования для использования Amazon S3 при расшифровке исходного объекта. Ключ шифрования, предоставленный в этом заголовке, должен совпадать с ключом, использованным при создании исходного объекта.
Если исходный объект для копирования хранится в Amazon S3 с использованием SSE-C, необходимо предоставить необходимую информацию о шифровании в вашем запросе, чтобы Amazon S3 мог расшифровать объект для копирования.
Примечание
Данная функциональность не поддерживается, когда исходный объект находится в ведре каталога.--copy-source-sse-customer-key-md5 (строка)
Указывает 128-битный MD5 дайджест ключа шифрования в соответствии с RFC 1321. Amazon S3 использует этот заголовок для проверки целостности сообщения, чтобы гарантировать, что ключ шифрования был передан без ошибок.
Если исходный объект для копирования хранится в Amazon S3 с использованием SSE-C, необходимо предоставить необходимую информацию о шифровании в вашем запросе, чтобы Amazon S3 мог расшифровать объект для копирования.
Примечание
Данная функциональность не поддерживается, когда исходный объект находится в ведре каталога.--request-payer (строка)
Подтверждает, что запрашивающий знает о том, что ему будет взиматься плата за запрос. Владельцам ведёр не нужно указывать этот параметр в своих запросах. Если у исходного или целевого ведра S3 включена опция оплата запрашивающим, запрашивающий заплатит за соответствующие расходы на копирование объекта. Дополнительную информацию о загрузке объектов из вёдер с оплатой запрашивающим, см. в руководстве пользователя Amazon S3.
Примечание
Данная функциональность не поддерживается для вёдер каталогов.Возможные значения:
requester
--tagging (строка)
Набор тегов для копирования объекта в целевой бакет. Это значение должно использоваться совместно с x-amz-tagging-directive, если вы выберите REPLACE для x-amz-tagging-directive. Если вы выберите COPY для x-amz-tagging-directive, вам не нужно устанавливать заголовок x-amz-tagging, так как набор тегов будет скопирован непосредственно из исходного объекта. Набор тегов должен быть закодирован в виде параметров запроса URL.
Значение по умолчанию — пустое значение.
Примечание
CopyObject поддерживается только пустой набор тегов. Любые запросы, пытающиеся записать непустые теги в бакеты каталогов, получат код состояния 501 Not Implemented. Когда целевой бакет является бакетом каталога, вы получите ответ 501 Not Implemented в любой из следующих ситуаций:- При попытке
COPYнабора тегов из объекта S3-источника, который имеет непустые теги. - При попытке
REPLACEнабора тегов объекта-источника и установке непустого значения дляx-amz-tagging. - Когда вы не устанавливаете заголовок
x-amz-tagging-directive, а исходный объект имеет непустые теги. Это происходит потому, что значение по умолчанию дляx-amz-tagging-directive—COPY.
Поскольку для бакетов каталогов в операции CopyObject поддерживается только пустой набор тегов, разрешены следующие ситуации:
- При попытке
COPYнабора тегов из объекта-источника бакета каталога, который не имеет тегов, в бакет общего назначения. Он копирует пустой набор тегов в целевой объект. - При попытке
REPLACEнабора тегов объекта-источника бакета каталога и установке значенияx-amz-taggingцелевого объекта бакета каталога на пустое. - При попытке
REPLACEнабора тегов объекта-источника бакета общего назначения, который имеет непустые теги, и установке значенияx-amz-taggingцелевого объекта бакета каталога на пустое. - При попытке
REPLACEнабора тегов объекта-источника бакета каталога и при отсутствии установки значенияx-amz-taggingцелевого объекта бакета каталога. Это происходит потому, что значение по умолчанию дляx-amz-tagging— пустое значение.
--object-lock-mode (строка)
Режим блокировки объекта, который вы хотите применить к копии объекта.
Примечание
Данная функциональность не поддерживается для бакетов каталогов.Возможные значения:
GOVERNANCECOMPLIANCE
--object-lock-retain-until-date (метка времени)
Дата и время истечения блокировки объекта для копии объекта.
Примечание
Данная функциональность не поддерживается для бакетов каталогов.--object-lock-legal-hold-status (строка)
Указывает, хотите ли вы применить юридическое ограничение к копии объекта.
Примечание
Данная функциональность не поддерживается для бакетов каталогов.Возможные значения:
ONOFF
--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 для вывода.
--cli-auto-prompt (логическое значение)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (логическое значение)
Отключить автоматическое запросов параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Подробности см. в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования Unix-подобных систем. Эти примеры потребуют адаптации к правилам цитирования вашей оболочки терминала. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Следующая команда копирует объект из bucket-1 в bucket-2:
aws s3api copy-object --copy-source bucket-1/test.txt --key test.txt --bucket bucket-2
Вывод:
{
"CopyObjectResult": {
"LastModified": "2015-11-10T01:07:25.000Z",
"ETag": "\"589c8b79c230a6ecd5a7e1d040a9a030\""
},
"VersionId": "YdnYvTCVDqRRFA.NFJjy36p0hxifMlkA"
}
Вывод
CopyObjectResult -> (структура)
Контейнер для всех элементов ответа.
ETag -> (строка)
LastModified -> (метка времени)
ChecksumType -> (строка)
ChecksumCRC32 -> (строка)
CRC32 контрольная сумма объекта. Эта контрольная сумма присутствует только в случае, если объект был загружен с контрольной суммой. Дополнительную информацию см. в разделе «Проверка целостности объектов» руководства пользователя Amazon S3.ChecksumCRC32C -> (строка)
CRC32C контрольная сумма объекта. Она будет присутствовать только в том случае, если объект был загружен с контрольной суммой. Дополнительную информацию см. в разделе «Проверка целостности объектов» руководства пользователя Amazon S3.ChecksumCRC64NVME -> (строка)
CRC64NVME контрольная сумма объекта. Эта контрольная сумма присутствует, если копируемый объект был загружен с алгоритмом контрольной суммы CRC64NVME или если объект был загружен без контрольной суммы (и Amazon S3 добавил стандартную контрольную сумму CRC64NVME к загруженному объекту). Дополнительную информацию см. в разделе «Проверка целостности объектов» руководства пользователя Amazon S3.ChecksumSHA1 -> (строка)
SHA1 дайджест объекта. Он будет присутствовать только в том случае, если объект был загружен с контрольной суммой. Дополнительную информацию см. в разделе «Проверка целостности объектов» руководства пользователя Amazon S3.ChecksumSHA256 -> (строка)
SHA256 дайджест объекта. Он будет присутствовать только в том случае, если объект был загружен с контрольной суммой. Дополнительную информацию см. в разделе «Проверка целостности объектов» руководства пользователя Amazon S3.Expiration -> (строка)
Если истечение срока действия объекта настроено, в ответ включается этот заголовок.
Примечание
Информация об истечении срока действия объекта не возвращается в ведрах каталогов, и этот заголовок возвращает значение “NotImplemented” во всех ответах для ведер каталогов.CopySourceVersionId -> (строка)
Идентификатор версии исходного объекта, который был скопирован.
Примечание
Эта функция не поддерживается, когда исходный объект находится в ведре каталога.VersionId -> (строка)
Идентификатор версии недавно созданной копии.
Примечание
Эта функция не поддерживается для ведер каталогов.ServerSideEncryption -> (строка)
AES256, aws:kms, aws:kms:dsse).SSECustomerAlgorithm -> (строка)
Если запрошено шифрование на стороне сервера с ключом шифрования, предоставленным клиентом, в ответ будет включен этот заголовок для подтверждения используемого алгоритма шифрования.
Примечание
Эта функция не поддерживается для ведер каталогов.SSECustomerKeyMD5 -> (строка)
Если запрошено шифрование на стороне сервера с ключом шифрования, предоставленным клиентом, в ответ будет включен этот заголовок для обеспечения проверки целостности сообщения при обмене ключом шифрования, предоставленным клиентом.
Примечание
Эта функция не поддерживается для ведер каталогов.SSEKMSKeyId -> (строка)
SSEKMSEncryptionContext -> (строка)
BucketKeyEnabled -> (булево)
RequestCharged -> (строка)
Если присутствует, указывает, что запрос был успешно оплачен запрашивающим.
Примечание
Эта функция не поддерживается для ведер каталогов.
© Copyright 2025, Amazon Web Services. Created using Sphinx.