upload-part
Описание
Загружает часть в многочастотной загрузке.
Примечание
В этой операции вы предоставляете новые данные как часть объекта в вашем запросе. Однако у вас есть возможность указать ваш существующий объект Amazon S3 в качестве источника данных для части, которую вы загружаете. Для загрузки части из существующего объекта используется операция UploadPartCopy.Вы должны инициировать многочастотную загрузку (см. CreateMultipartUpload ) прежде чем вы сможете загрузить любую часть. В ответ на ваш запрос инициализации Amazon S3 возвращает идентификатор загрузки, уникальный идентификатор, который вы должны включить в ваш запрос загрузки части.
Номера частей могут быть любым числом от 1 до 10 000 включительно. Номер части уникально идентифицирует часть и также определяет её позицию в объекте, который создается. Если вы загружаете новую часть, используя тот же номер части, что использовался с предыдущей частью, то предыдущая загруженная часть перезаписывается.
Сведения о максимальных и минимальных размерах частей и других спецификациях многочастотной загрузки см. в разделе Пределы многочастотной загрузки в Руководстве пользователя Amazon S3 .
Примечание
После инициализации многочастотной загрузки и загрузки одной или нескольких частей, вы должны либо завершить, либо прервать многочастотную загрузку, чтобы прекратить оплату за хранение загруженных частей. Только после завершения или прерывания многочастотной загрузки Amazon S3 освобождает хранилище частей и прекращает взимание платы за хранение частей.Дополнительную информацию о многочастотных загрузках см. в разделе Обзор многочастотных загрузок в Руководстве пользователя Amazon S3 .
Примечание
Разрешения
-
Разрешения ведер общего назначения - Для выполнения многочастотной загрузки с шифрованием с использованием ключа службы управления ключами запрашивающий должен иметь разрешение на
kms:Decryptиkms:GenerateDataKeyдействия над ключом. Запрашивающий также должен иметь разрешения наkms:GenerateDataKeyдействие дляCreateMultipartUploadAPI. Затем запрашивающий нуждается в разрешениях наkms:Decryptдействие надUploadPartиUploadPartCopyAPI. Эти разрешения необходимы, потому что Amazon S3 должен расшифровать и прочитать данные из зашифрованных частей файла, прежде чем завершит многочастотную загрузку. Дополнительную информацию о разрешениях KMS см. в разделе Защита данных с помощью шифрования на стороне сервера с использованием KMS в Руководстве пользователя Amazon S3 . Сведения о разрешениях, необходимых для использования API многочастотной загрузки, см. в разделе Многочастотная загрузка и разрешения и API многочастотной загрузки и разрешения в Руководстве пользователя Amazon S3 . -
Разрешения ведерных каталогов - Для предоставления доступа к этой API-операции в ведре каталога рекомендуется использовать операцию `
CreateSessionhttps://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html`__ для сессионного авторизации. В частности, вы предоставляете разрешениеs3express:CreateSessionдля ведра каталога в политике ведра или политике на основе идентификатора IAM. Затем вы выполняете вызов APICreateSessionдля ведра, чтобы получить токен сессии. С токеном сессии в заголовке запроса вы можете отправлять запросы API к этой операции. После истечения срока действия токена сессии вы выполняете еще один вызов APICreateSessionдля генерации нового токена сессии для использования. Amazon Web Services CLI или SDK автоматически создают сессию и обновляют токен сессии, чтобы избежать перерывов в работе сервиса при истечении срока действия сессии. Дополнительную информацию об авторизации см. в разделе `CreateSessionhttps://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html`__ . Если объект зашифрован с помощью SSE-KMS, вы также должны иметь разрешенияkms:GenerateDataKeyиkms:Decryptв политиках на основе идентификатора IAM и политиках ключа KMS для ключа KMS.Целостность данных
Content-MD5 в запросе загрузки части. Amazon S3 сравнивает данные части с предоставленным значением MD5. Если они не совпадают, Amazon S3 возвращает ошибку. Если запрос загрузки подписан с версией подписи 4, то Amazon Web Services S3 использует заголовок x-amz-content-sha256 в качестве контрольной суммы вместо Content-MD5 . Дополнительная информация приведена в разделе Авторизация запросов: использование заголовка Authorization (Amazon Web Services подпись версии 4).Примечание
Шифрование
-
Ведро общего назначения - Шифрование на стороне сервера предназначено для шифрования данных при хранении. Amazon S3 шифрует ваши данные при записи на диски в своих центрах обработки данных и расшифровывает их при доступе к ним. У вас есть взаимоисключающие варианты защиты данных с помощью шифрования на стороне сервера в Amazon S3, в зависимости от того, как вы выберете управление ключами шифрования. В частности, вариантами ключей шифрования являются ключи Amazon S3 (SSE-S3), ключи Amazon Web Services KMS (SSE-KMS) и ключи, предоставленные клиентом (SSE-C). Amazon S3 шифрует данные с помощью управляемых Amazon S3 ключей (SSE-S3) по умолчанию. Вы можете указать Amazon S3 на шифрование данных при хранении с использованием других вариантов ключей шифрования. Выбор зависит от того, хотите ли вы использовать ключи KMS (SSE-KMS) или предоставить свой собственный ключ шифрования (SSE-C). Шифрование на стороне сервера поддерживается операциями S3 многочастотной загрузки. Если вы не используете ключ шифрования, предоставленный клиентом (SSE-C), вам не нужно указывать параметры шифрования в каждом запросе UploadPart. Вместо этого вам нужно указать параметры шифрования на стороне сервера только в начальном запросе Initiate Multipart. Дополнительная информация приведена в разделе CreateMultipartUpload . Если вы запросите шифрование на стороне сервера с помощью ключа, предоставленного клиентом (SSE-C), в своем запросе инициализации многочастотной загрузки, вы должны предоставить идентичную информацию о шифровании в каждой загрузке части, используя следующие заголовки запроса.
- x-amz-server-side-encryption-customer-algorithm
- x-amz-server-side-encryption-customer-key
- x-amz-server-side-encryption-customer-key-MD5
Дополнительную информацию см. в разделе Использование шифрования на стороне сервера в Руководстве пользователя Amazon S3 .
-
Ведерные каталоги - Для ведерных каталогов поддерживаются только два варианта шифрования на стороне сервера: шифрование на стороне сервера с управляемыми ключами Amazon S3 (SSE-S3) (
AES256) и шифрование на стороне сервера с ключами KMS (SSE-KMS) (aws:kms).Особые ошибки
-
Код ошибки:
NoSuchUpload- Описание: Указанная многочастотная загрузка не существует. Идентификатор загрузки может быть недействительным, или многочастотная загрузка может быть прервана или завершена.
- Код состояния HTTP: 404 Не найдено
- Префикс кода ошибки SOAP: Клиент
Синтаксис заголовка HTTP Host
Следующие операции связаны с UploadPart :
- CreateMultipartUpload
- CompleteMultipartUpload
- AbortMultipartUpload
- ListParts
- ListMultipartUploads
См. также: Документация API AWS
Краткое описание
upload-part
[--body <value>]
--bucket <value>
[--content-length <value>]
[--content-md5 <value>]
[--checksum-algorithm <value>]
[--checksum-crc32 <value>]
[--checksum-crc32-c <value>]
[--checksum-crc64-nvme <value>]
[--checksum-sha1 <value>]
[--checksum-sha256 <value>]
--key <value>
--part-number <value>
--upload-id <value>
[--sse-customer-algorithm <value>]
[--sse-customer-key <value>]
[--sse-customer-key-md5 <value>]
[--request-payer <value>]
[--expected-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]
Параметры
--body (потоковый блок)
Данные объекта.
Примечание
Этот аргумент имеет тип: потоковый блок. Его значение должно быть путем к файлу (например,path/to/file) и не должно быть префиксным с помощью file:// или fileb://
--bucket (строка)
Имя ведра, для которого была инициирована многочастная загрузка.
Ведра каталогов - При использовании этой операции с ведром каталога необходимо использовать запросы в стиле виртуального хостинга в формате `` Имя-ведра .s3express-идентификатор-зоны .*код-региона* .amazonaws.com`` . Запросы в стиле пути не поддерживаются. Имена ведер каталогов должны быть уникальными в выбранной зоне (зоне доступности или локальной зоне). Имена ведер должны соответствовать формату `` основное-имя-ведра –идентификатор-зоны –x-s3`` (например, `` amzn-s3-demo-bucket –usw2-az1 –x-s3`` ). Сведения о ограничениях для имен ведер см. в разделе Правила именования ведер каталогов в Руководстве пользователя Amazon S3 .
Точки доступа - При использовании данного действия с точкой доступа для ведер общего назначения необходимо указать псевдоним точки доступа вместо имени ведра или указать ARN точки доступа. При использовании данного действия с точкой доступа для ведер каталогов необходимо указать имя точки доступа вместо имени ведра. При использовании ARN точки доступа необходимо направить запросы на имя хоста точки доступа. Имя хоста точки доступа имеет вид ИмяТочкиДоступа -ИдентификаторАккаунта .s3-accesspoint.*Регион* .amazonaws.com. При использовании данного действия с точкой доступа через SDK Amazon Web Services необходимо указать 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 .
--content-length (длинное)
--content-md5 (строка)
Кодированный в Base64 128-битный MD5-дайджест данных части. Этот параметр автоматически заполняется при использовании команды из командной строки. Этот параметр требуется, если указаны параметры блокировки объектов.
Примечание
Эта функция не поддерживается для ведер каталогов.--checksum-algorithm (строка)
Указывает алгоритм, используемый для создания контрольной суммы объекта при использовании SDK. Этот заголовок не предоставит никакой дополнительной функциональности, если вы не используете SDK. При отправке этого заголовка необходимо отправить соответствующий заголовок x-amz-checksum или x-amz-trailer. В противном случае Amazon S3 отклонит запрос с кодом HTTP-статуса 400 Bad Request . Дополнительную информацию см. в разделе Проверка целостности объекта в Руководстве пользователя Amazon S3 .
Если вы предоставляете отдельную контрольную сумму, Amazon S3 игнорирует любой предоставленный параметр ChecksumAlgorithm.
Этот алгоритм контрольной суммы должен быть одинаковым для всех частей и соответствовать значению контрольной суммы, указанному в запросе CreateMultipartUpload.
Возможные значения:
CRC32CRC32CSHA1SHA256CRC64NVME
--checksum-crc32 (строка)
CRC32 контрольную сумму объекта. Дополнительную информацию см. в разделе Проверка целостности объекта в Руководстве пользователя Amazon S3 .--checksum-crc32-c (строка)
CRC32C контрольную сумму объекта. Дополнительную информацию см. в разделе Проверка целостности объекта в Руководстве пользователя Amazon S3 .--checksum-crc64-nvme (строка)
CRC64NVME контрольную сумму части. Дополнительную информацию см. в разделе Проверка целостности объекта в Руководстве пользователя Amazon S3 .--checksum-sha1 (строка)
SHA1 контрольную сумму объекта. Дополнительную информацию см. в разделе Проверка целостности объекта в Руководстве пользователя Amazon S3 .--checksum-sha256 (строка)
SHA256 контрольную сумму объекта. Дополнительную информацию см. в разделе Проверка целостности объекта в Руководстве пользователя Amazon S3 .--key (строка)
--part-number (целое число)
--upload-id (строка)
--sse-customer-algorithm (строка)
Указывает алгоритм, который необходимо использовать для шифрования объекта (например, AES256).
Примечание
Эта функция не поддерживается для ведер каталогов.--sse-customer-key (строка)
Указывает предоставленный клиентом ключ шифрования для использования Amazon S3 при шифровании данных. Это значение используется для хранения объекта, а затем удаляется; Amazon S3 не хранит ключ шифрования. Ключ должен подходить для использования с алгоритмом, указанным в x-amz-server-side-encryption-customer-algorithm header. Это должен быть тот же ключ шифрования, который был указан в запросе на инициирование многочастной загрузки.
Примечание
Эта функция не поддерживается для ведер каталогов.--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 (доступ запрещен).--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 (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)
Файл с набором CA-сертификатов для проверки 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.
Следующая команда загружает первую часть в многочастотной загрузке, инициированной командой create-multipart-upload:
aws s3api upload-part --bucket amzn-s3-demo-bucket --key 'multipart/01' --part-number 1 --body part01 --upload-id "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R"
Параметр body принимает имя или путь к локальному файлу для загрузки (не используйте префикс file://). Минимальный размер части составляет 5 МБ. Идентификатор загрузки возвращается командой create-multipart-upload и также может быть получен с помощью команды list-multipart-uploads. Ведро и ключ задаются при создании многочастотной загрузки.
Вывод:
{
"ETag": "\"e868e0f4719e394144ef36531ee6824c\""
}
Сохраните значение ETag каждой части для последующего использования. Они необходимы для завершения многочастотной загрузки.
Вывод
ServerSideEncryption -> (string)
AES256 , aws:kms).ETag -> (string)
ChecksumCRC32 -> (string)
CRC32 checksum объекта, закодированное в Base64. Эта контрольная сумма присутствует только в том случае, если она была загружена вместе с объектом. При использовании операции API с объектом, загруженным с помощью многочастотной загрузки, это значение может не быть непосредственной контрольной суммой всего объекта. Вместо этого это вычисление на основе контрольных сумм каждой отдельной части. Дополнительную информацию о том, как вычисляются контрольные суммы при многочастотной загрузке, см. в Руководстве пользователя Amazon S3.ChecksumCRC32C -> (string)
ChecksumCRC64NVME -> (string)
ChecksumSHA1 -> (string)
ChecksumSHA256 -> (string)
SSECustomerAlgorithm -> (string)
Если запрошено шифрование на стороне сервера с использованием ключа шифрования, предоставленного клиентом, ответ будет включать этот заголовок для подтверждения используемого алгоритма шифрования.
Примечание
Эта функция не поддерживается для ведер каталогов.SSECustomerKeyMD5 -> (string)
Если запрошено шифрование на стороне сервера с использованием ключа шифрования, предоставленного клиентом, ответ будет включать этот заголовок для обеспечения проверки целостности сообщения между клиентом и сервером для предоставленного клиентом ключа шифрования.
Примечание
Эта функция не поддерживается для ведер каталогов.SSEKMSKeyId -> (string)
BucketKeyEnabled -> (boolean)
RequestCharged -> (string)
Если присутствует, указывает, что запрос был успешно оплачен.
Примечание
Эта функция не поддерживается для ведер каталогов.
© Copyright 2025, Amazon Web Services. Created using Sphinx.