Spec-Zone.ru › AWS CLI v2

[ aws . s3 ]

cp

Описание

Копирует локальный файл или объект S3 в другое место, локально или в S3.

Синтаксис

  cp
<LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>
[--dryrun]
[--quiet]
[--include <value>]
[--exclude <value>]
[--acl <value>]
[--follow-symlinks | --no-follow-symlinks]
[--no-guess-mime-type]
[--sse <value>]
[--sse-c <value>]
[--sse-c-key <value>]
[--sse-kms-key-id <value>]
[--sse-c-copy-source <value>]
[--sse-c-copy-source-key <value>]
[--storage-class <value>]
[--grants <value> [<value>...]]
[--website-redirect <value>]
[--content-type <value>]
[--cache-control <value>]
[--content-disposition <value>]
[--content-encoding <value>]
[--content-language <value>]
[--expires <value>]
[--source-region <value>]
[--only-show-errors]
[--no-progress]
[--page-size <value>]
[--ignore-glacier-warnings]
[--force-glacier-transfer]
[--request-payer <value>]
[--checksum-mode <value>]
[--checksum-algorithm <value>]
[--metadata <value>]
[--copy-props <value>]
[--metadata-directive <value>]
[--expected-size <value>]
[--recursive]
[--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]

Параметры

paths (строка)

--dryrun (логическое значение) Отображает операции, которые будут выполнены с помощью указанной команды, без фактического их запуска.

--quiet (логическое значение) Не отображает операции, выполненные от указанной команды.

--include (строка) Не исключать файлы или объекты в команде, которые соответствуют указанному шаблону. Подробнее см. Использование фильтров исключения и включения.

--exclude (строка) Исключить все файлы или объекты из команды, которые соответствуют указанному шаблону.

--acl (строка) Устанавливает ACL для объекта при выполнении команды. Если вы используете этот параметр, вы должны иметь разрешение «s3:PutObjectAcl» в списке действий вашей политики IAM. Принимает только значения private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control и log-delivery-write. Подробнее см. Canned ACL.

--follow-symlinks | --no-follow-symlinks (логическое значение) Символические ссылки отслеживаются только при загрузке в S3 из локальной файловой системы. Обратите внимание, что S3 не поддерживает символические ссылки, поэтому содержимое целевого объекта ссылки загружается под именем ссылки. Если ни --follow-symlinks, ни --no-follow-symlinks не указаны, по умолчанию отслеживаются ссылки.

--no-guess-mime-type (логическое значение) Не пытаться определить тип MIME для загружаемых файлов. По умолчанию тип MIME файла определяется при его загрузке.

--sse (строка) Указывает шифрование объекта на стороне сервера в S3. Допустимые значения: AES256 и aws:kms. Если параметр указан, но значение не задано, используется AES256.

--sse-c (строка) Указывает шифрование на стороне сервера с использованием ключей, предоставленных клиентом, объекта в S3. AES256 — единственное допустимое значение. Если параметр указан, но значение не задано, используется AES256. Если вы предоставляете это значение, необходимо также указать --sse-c-key.

--sse-c-key (байтовый массив) Предоставленный клиентом ключ шифрования для шифрования объекта на стороне сервера в S3. Если вы предоставляете это значение, необходимо также указать --sse-c. Предоставляемый ключ **не** должен быть кодирован в base64.

--sse-kms-key-id (строка) Идентификатор ключа AWS Key Management Service (KMS), управляемого клиентом, который необходимо использовать для шифрования объекта на стороне сервера в S3. Вы должны указать этот параметр только в том случае, если вы используете управляемый клиентом главный ключ (CMK), а не управляемый AWS KMS CMK.

--sse-c-copy-source (строка) Этот параметр следует указывать только при копировании объекта S3, который был зашифрован на стороне сервера с помощью предоставленного клиентом ключа. Он указывает алгоритм, используемый при дешифровании исходного объекта. AES256 — единственное допустимое значение. Если параметр указан, но значение не задано, используется AES256. Если вы предоставляете это значение, необходимо также указать --sse-c-copy-source-key.

--sse-c-copy-source-key (байтовый массив) Этот параметр следует указывать только при копировании объекта S3, который был зашифрован на стороне сервера с помощью предоставленного клиентом ключа. Указывает предоставленный клиентом ключ шифрования Amazon S3 для дешифрования исходного объекта. Ключ шифрования, предоставленный, должен быть тем, который использовался при создании исходного объекта. Если вы предоставляете это значение, необходимо также указать --sse-c-copy-source. Предоставляемый ключ **не** должен быть кодирован в base64.

--storage-class (строка) Тип хранилища для объекта. Допустимые значения: STANDARD | REDUCED_REDUNDANCY | STANDARD_IA | ONEZONE_IA | INTELLIGENT_TIERING | GLACIER | DEEP_ARCHIVE | GLACIER_IR. По умолчанию — ‘STANDARD’

--grants (строка)

Предоставляет определенные разрешения отдельным пользователям или группам. Вы можете указать список разрешений в формате

--grants Permission=Grantee_Type=Grantee_ID [Permission=Grantee_Type=Grantee_ID ...]

Чтобы указать один и тот же тип разрешения для нескольких получателей, укажите разрешение следующим образом:

--grants Permission=Grantee_Type=Grantee_ID,Grantee_Type=Grantee_ID,...

Каждое значение содержит следующие элементы:

  • Permission - Указывает предоставленные разрешения и может быть установлено в read, readacl, writeacl или full.
  • Grantee_Type - Указывает способ идентификации получателя и может быть установлен в uri или id.
  • Grantee_ID - Указывает получателя на основе Grantee_Type. Значение Grantee_ID может быть одним из следующих:
    • uri - URI группы. Дополнительные сведения см. в разделе Кто является получателем?
    • id - Канонический идентификатор учетной записи

Дополнительные сведения об управлении доступом Amazon S3 см. в разделе Управление доступом.

--website-redirect (строка) Если ведро настроено как веб-сайт, перенаправляет запросы для этого объекта на другой объект в том же ведре или на внешний URL-адрес. Amazon S3 сохраняет значение этого заголовка в метаданных объекта.

--content-type (строка) Указывает явный тип содержимого для этой операции. Это значение переопределяет любые угаданные типы MIME.

--cache-control (строка) Указывает поведение кеширования в цепочке запрос/ответ.

--content-disposition (строка) Указывает презентационную информацию для объекта.

--content-encoding (строка) Указывает, какие кодировки содержимого применялись к объекту, и, следовательно, какие механизмы декодирования необходимо применить для получения типа медиа, указанного в заголовке Content-Type.

--content-language (строка) Язык содержимого.

--expires (строка) Дата и время, после которых объект больше не кешируется.

--source-region (строка) При передаче объектов из ведра s3 в ведро s3 это указывает регион исходного ведра. Обратите внимание, что регион, указанный в --region или через конфигурацию CLI, относится к региону целевого ведра. Если --source-region не указан, регион источника будет таким же, как регион целевого ведра.

--only-show-errors (логическое значение) Отображаются только ошибки и предупреждения. Весь другой вывод подавляется.

--no-progress (логическое значение) Прогресс передачи файлов не отображается. Этот флаг применяется только при отсутствии флагов quiet и only-show-errors.

--page-size (целое число) Количество результатов, возвращаемых в каждом ответе на операцию списка. Значение по умолчанию — 1000 (максимально разрешенное). Использование меньшего значения может помочь, если операция зависает.

--ignore-glacier-warnings (логическое значение) Выключает предупреждения glacier. Предупреждения об операции, которая не может быть выполнена, потому что она включает копирование, загрузку или перемещение объекта glacier, больше не будут выводиться в стандартную ошибку и больше не будут вызывать возврат кода команды 2.

--force-glacier-transfer (логическое значение) Принудительно запрашивает передачу всех объектов Glacier в синхронизации или рекурсивной копии.

--request-payer (строка) Подтверждает, что запрашивающий знает, что будет взиматься плата за запрос. Владельцам ведер не нужно указывать этот параметр в своих запросах. Документация по загрузке объектов из ведер, оплачиваемых запрашивающим, находится по адресу http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html

--checksum-mode (строка) Для получения контрольной суммы этот режим должен быть включен. Если объект имеет контрольную сумму, она будет проверена.

--checksum-algorithm (строка) Указывает алгоритм, используемый для создания контрольной суммы объекта.

--metadata (массив) Массив метаданных для хранения с объектами в S3. Это будет применено ко всем объектам, которые являются частью этого запроса. В синхронизации это означает, что файлы, которые не изменились, не получат новые метаданные. key -> (строка)

value -> (строка)

Сокращенная синтаксическая запись:

KeyName1=string,KeyName2=string

Синтаксис JSON:

{"string": "string"
  ...}

--copy-props (строка) Определяет, какие свойства копируются из исходного объекта S3. Этот параметр применяется только для копий S3 в S3. Допустимые значения:

  • none - Не копировать ни одного свойства из исходного объекта S3.
  • metadata-directive - Копирует следующие свойства из исходного объекта S3: content-type, content-language, content-encoding, content-disposition, cache-control, --expires и metadata
  • default - Значение по умолчанию. Копирует теги и свойства, охватываемые значением metadata-directive, из исходного объекта S3.

Для копирования соответствующих свойств при многочастных копиях некоторые параметры могут потребовать дополнительных API-вызовов, если вовлечена многочастная копия. В частности:

  • metadata-directive может потребовать дополнительных HeadObject API-вызовов.
  • default может потребовать дополнительных HeadObject, GetObjectTagging и PutObjectTagging API-вызовов. Обратите внимание, что этот список API-вызовов может в будущем расширяться, чтобы гарантировать, что многочастные копии сохранят точные свойства, которые сохранил бы вызов API CopyObject.

Если вы хотите гарантировать, что не будут выполняться дополнительные API-вызовы, помимо необходимых для фактического копирования, установите этот параметр в none.

--metadata-directive (строка) Устанавливает заголовок x-amz-metadata-directive для операций CopyObject. Рекомендуется использовать параметр --copy-props для управления копированием свойств метаданных. Если --metadata-directive установлен, параметр --copy-props будет отключен и не будет влиять на передачу.

--expected-size (строка) Этот аргумент указывает ожидаемый размер потока в байтах. Обратите внимание, что этот аргумент необходим только при загрузке потока в s3, и размер превышает 50 ГБ. Отсутствие этого аргумента в этих условиях может привести к сбою загрузки из-за слишком большого количества частей при загрузке.

--recursive (логическое значение) Команда выполняется для всех файлов или объектов в указанном каталоге или префиксе.

Глобальные параметры

--debug (boolean)

Включить отладочную запись в журнал.

--endpoint-url (string)

Переопределить URL по умолчанию команды указанным URL.

--no-verify-ssl (boolean)

По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.

--no-paginate (boolean)

Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.

--output (string)

Стиль форматирования вывода команды.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (string)

Запрос JMESPath для фильтрации данных ответа.

--profile (string)

Использовать определённый профиль из файла учетных данных.

--region (string)

Регион для использования. Переопределяет настройки из конфигурации/среды.

--version (string)

Отобразить версию этого инструмента.

--color (string)

Включить/отключить цветной вывод.

  • on
  • off
  • auto

--no-sign-request (boolean)

Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.

--ca-bundle (string)

Файл с сертификатом корневого центра для проверки SSL-сертификатов. Переопределяет настройки из конфигурации/среды.

--cli-read-timeout (int)

Максимальное время чтения сокета в секундах. Если значение равно 0, чтение сокета будет блокирующим и без таймаута. Значение по умолчанию составляет 60 секунд.

--cli-connect-timeout (int)

Максимальное время подключения к сокету в секундах. Если значение равно 0, подключение к сокету будет блокирующим и без таймаута. Значение по умолчанию составляет 60 секунд.

--cli-binary-format (string)

Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — 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 (boolean)

Отключить вывод с помощью пейджера CLI.

--cli-auto-prompt (boolean)

Автоматически запрашивать параметры ввода CLI.

--no-cli-auto-prompt (boolean)

Отключить автоматическую запрос параметров ввода CLI.

Примеры

Примечание

Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.

Если не указано иное, все примеры используют правила цитирования Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей консоли. См. раздел "Использование кавычек со строками" в Руководстве пользователя AWS CLI.

Пример 1: Копирование локального файла в S3

Следующая cp команда копирует один файл в указанный бакет и ключ:

aws s3 cp test.txt s3://amzn-s3-demo-bucket/test2.txt

Вывод:

upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt

Пример 2: Копирование локального файла в S3 с датой истечения срока действия

Следующая cp команда копирует один файл в указанный бакет и ключ, срок действия которого истекает в указанный момент времени по формату ISO 8601:

aws s3 cp test.txt s3://amzn-s3-demo-bucket/test2.txt \
    --expires 2014-10-01T20:30:00Z

Вывод:

upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt

Пример 3: Копирование файла из S3 в S3

Следующая cp команда копирует один объект S3 в указанный бакет и ключ:

aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt

Вывод:

copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt

Пример 4: Копирование объекта S3 в локальный файл

Следующая cp команда копирует один объект в указанный локальный файл:

aws s3 cp s3://amzn-s3-demo-bucket/test.txt test2.txt

Вывод:

download: s3://amzn-s3-demo-bucket/test.txt to test2.txt

Пример 5: Копирование объекта S3 из одного бакета в другой

Следующая cp команда копирует один объект в указанный бакет, сохраняя его исходное имя:

aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket2/

Вывод:

copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt

Пример 6: Рекурсивное копирование объектов S3 в локальную директорию

При передаче параметра --recursive, следующая cp команда рекурсивно копирует все объекты в указанном префиксе и бакете в указанную директорию. В этом примере, бакет amzn-s3-demo-bucket содержит объекты test1.txt и test2.txt:

aws s3 cp s3://amzn-s3-demo-bucket . \
    --recursive

Вывод:

download: s3://amzn-s3-demo-bucket/test1.txt to test1.txt
download: s3://amzn-s3-demo-bucket/test2.txt to test2.txt

Пример 7: Рекурсивное копирование локальных файлов в S3

При передаче параметра --recursive, следующая cp команда рекурсивно копирует все файлы в указанной директории в указанный бакет и префикс, исключая некоторые файлы с помощью параметра --exclude. В этом примере, директория myDir содержит файлы test1.txt и test2.jpg:

aws s3 cp myDir s3://amzn-s3-demo-bucket/ \
    --recursive \
    --exclude "*.jpg"

Вывод:

upload: myDir/test1.txt to s3://amzn-s3-demo-bucket/test1.txt

Пример 8: Рекурсивное копирование объектов S3 в другой бакет

При передаче параметра --recursive, следующая cp команда рекурсивно копирует все объекты в указанном бакете в другой бакет, исключая некоторые объекты с помощью параметра --exclude. В этом примере, бакет amzn-s3-demo-bucket содержит объекты test1.txt и another/test1.txt:

aws s3 cp s3://amzn-s3-demo-bucket/ s3://amzn-s3-demo-bucket2/ \
    --recursive \
    --exclude "another/*"

Вывод:

copy: s3://amzn-s3-demo-bucket/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt

Вы можете объединить параметры --exclude и --include, чтобы копировать только объекты, соответствующие шаблону, исключая все остальные:

aws s3 cp s3://amzn-s3-demo-bucket/logs/ s3://amzn-s3-demo-bucket2/logs/ \
    --recursive \
    --exclude "*" \
    --include "*.log"

Вывод:

copy: s3://amzn-s3-demo-bucket/logs/test/test.log to s3://amzn-s3-demo-bucket2/logs/test/test.log
copy: s3://amzn-s3-demo-bucket/logs/test3.log to s3://amzn-s3-demo-bucket2/logs/test3.log

Пример 9: Установка списка управления доступом (ACL) при копировании объекта S3

Следующая cp команда копирует один объект в указанный бакет и ключ, устанавливая ACL в значение public-read-write:

aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt \
    --acl public-read-write

Вывод:

copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt

Обратите внимание, что при использовании параметра --acl, убедитесь, что соответствующие политики IAM включают действие "s3:PutObjectAcl":

aws iam get-user-policy \
    --user-name myuser \
    --policy-name mypolicy

Вывод:

{
    "UserName": "myuser",
    "PolicyName": "mypolicy",
    "PolicyDocument": {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": [
                    "s3:PutObject",
                    "s3:PutObjectAcl"
                ],
                "Resource": [
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"
                ],
                "Effect": "Allow",
                "Sid": "Stmt1234567891234"
            }
        ]
    }
}

Пример 10: Предоставление разрешений для объекта S3

Следующая cp команда иллюстрирует использование параметра --grants для предоставления права чтения всем пользователям, идентифицированным по URI, и полного контроля определённому пользователю по его Каноническому ID:

aws s3 cp file.txt s3://amzn-s3-demo-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=id=79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be

Вывод:

upload: file.txt to s3://amzn-s3-demo-bucket/file.txt

Пример 11: Загрузка потока локального файла в S3

Предупреждение

PowerShell может изменить кодировку или добавить CRLF к вводу из канала.

Следующая cp команда загружает поток локального файла из стандартного ввода в указанный бакет и ключ:

aws s3 cp - s3://amzn-s3-demo-bucket/stream.txt

Пример 12: Загрузка потока локального файла размером более 50 ГБ в S3

Следующая cp команда загружает поток локального файла размером 51 ГБ из стандартного ввода в указанный бакет и ключ. Необходимо указать параметр --expected-size, иначе загрузка может завершиться неудачей, когда она достигнет предельного значения фрагментов по умолчанию 10 000:

aws s3 cp - s3://amzn-s3-demo-bucket/stream.txt --expected-size 54760833024

Пример 13: Скачивание объекта S3 в виде потока локального файла

Предупреждение

PowerShell может изменить кодировку или добавить CRLF к выводу из канала или перенаправлению.

Следующая cp команда скачивает объект S3 локально в виде потока в стандартный вывод. Скачивание в виде потока в данный момент несовместимо с параметром --recursive:

aws s3 cp s3://amzn-s3-demo-bucket/stream.txt -

Пример 14: Загрузка в S3 доступную точку

Следующая cp команда загружает один файл (mydoc.txt) в доступную точку (myaccesspoint) по ключу (mykey):

aws s3 cp mydoc.txt s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Вывод:

upload: mydoc.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey

Пример 15: Скачивание из S3 доступной точки

Следующая cp команда скачивает один объект (mykey) из доступной точки (myaccesspoint) в локальный файл (mydoc.txt):

aws s3 cp s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey mydoc.txt

Вывод:

download: s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey to mydoc.txt

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API