Available in Classic and VPC
Upload a part of a multipart upload. To use multipart uploads, you must first create a multipart upload ID using create-multipart-upload.Commands
The command statement is as follows:
aws s3api upload-part  --bucket <value> --endpoint-url <value> --key <value> --part-number <value> --upload-id <value> [--options]
The maximum size that can be uploaded to Ncloud Storage is 5 TiB, and the size of each part that can be uploaded is between 5 MiB and 5 GiB. (There is no minimum size limit for the last part of a multipart upload.)
Up to 10,000 parts can be created for a multipart upload.
Parameter
The following describes the parameters.
| Parameter | Type | Required | Description | Restrictions | 
|---|---|---|---|---|
| --bucket <value> | string | Y | Name of the bucket where the multipart upload is started | - | 
| --endpoint-url <value> | string | Y | Specify the default URL for command calls. | It is only available for the KR Region. See Ncloud Storage overview for call domain information. | 
| --key <value> | string | Y | Name (key value) of the object to upload | - | 
| --part-number <value> | integer | Y | Number of parts being uploaded | Number of parts can be between 1 and 10,000. | 
| --upload-id <value> | string | Y | Upload ID created through create-multipart-upload | - | 
| --body <value> | string | N | Object data | Path or file of the object | 
| --content-length <value> | long | N | Size of the body (byte) | - | 
| --content-md5 <value> | long | N | Base64-encoded value of the 128-bit encryption hash value of the uploaded part | - | 
| --cli-input-json | --cli-input-yaml | string | N | Enter arguments from the provided json or yaml string. | You can't specify json and yaml together. | 
| --generate-cli-skeleton <value> | integer | N | Create a parameter template that can be used as input later without executing the API command. | - | 
| --debug | boolean | N | Use debug logging. | - | 
| --no-verify-ssl | boolean | N | Redefine the default behavior for validating SSL certificates. | - | 
| --no-paginate | boolean | N | Disable automatic pagination, call only the first page for results. | - | 
| --output <value> | string | N | Specify the format of response results. | Available options
  | 
| --query <value> | string | N | JMESPath query to use for filtering response data | - | 
| --profile <value> | string | N | Use a specific profile in the credentials file. | - | 
| --region <value> | string | N | Specify the Region. | Only KR is supported. | 
| --color <value> | string | N | Set output color. | Available options
  | 
| --no-sign-request | boolean | N | Disable credential loading. | - | 
| --ca-bundle <value> | string | N | Specify the CA certificate to use when verifying SSL certificates. | - | 
| --cli-read-timeout <value> | int | N | Maximum read time; entering 0 changes it to a blocked status instead of a timeout. | It is set to 60 seconds by default. | 
| --cli-connect-timeout <value> | int | N | Maximum connection time; entering 0 changes it to a blocked status instead of a timeout. | It is set to 60 seconds by default. | 
| --no-cli-pager | boolean | N | Disable the CLI pager for response values. | - | 
| --cli-auto-prompt | boolean | N | Enable automatic prompting for CLI input parameters. | - | 
| --no-cli-auto-prompt | boolean | N | Disable automatic prompting for CLI input parameters. | - | 
| --sse-customer-algorithm | string | N | User encryption algorithm (AES256) | - | 
| --sse-customer-key | string | N | User-provided encryption key | - | 
| --sse-customer-key-md5 | string | N | User-provided encryption key's MD5 value | - | 
Permission
If a sub account user wants to use this command, they need the Change/putObject action permission.
Specific error codes
The following error codes may occur when calling the upload-part command.
| Errors | HTTP Status | Description | 
|---|---|---|
NoSuchUpload | 
404 | The specified multipart upload does not exist. The upload ID is invalid, or the upload has been suspended or completed. | 
Examples
This section describes an example of calling and responding to the upload-part command.
Upload part
Call examples
You can upload a multipart file by dividing a large object into multiple parts, specifying each file as --body, and calling the upload-part command. The following is a call example.
aws s3api upload-part --bucket bucket-a --endpoint-url=https://kr.ncloudstorage.com --key 'multipart/01' --part-number 1 --upload-id "9c38884e-c970-11ef-8707-9cc2c464a269" --body part01
Response example
The response example is as follows:
{
    "ETag": "\"a5a87c4f9b0483fd1109150402177a92\""
}
Related commands
Related commands are as follows: