ListParts
Lists the parts that have been uploaded for a specific multipart upload.
Description
The ListParts
operation lists the parts that have been uploaded for a specific multipart upload. To use this operation, you must provide the upload ID
in the request, which you obtain from the CreateMultipartUpload
response.
Important
- This operation returns at most 1,000 uploaded parts in the response. This is also the default value.
- You can restrict the number of parts in a response by specifying the
max-parts
request parameter. - If your multipart upload consists of more than 1,000 parts, the response returns an
IsTruncated
field with the value oftrue
, and aNextPartNumberMarker
element. - To list remaining uploaded parts, in subsequent
ListParts
requests, include thepart-number-marker
query string parameter and set its value to theNextPartNumberMarker
field value from the previous response.
Request Syntax
GET /ObjectKey?uploadId=UploadId&max-parts=MaxParts&part-number-marker=PartNumberMarker HTTP/1.1
Host: BucketName.qstorage.quilibrium.com
x-amz-expected-bucket-owner: OwnerAccountId
Values in italics indicate user input and should be replaced with actual values.
This operation does not have a request body.
Request Parameters
URI Parameters
Name | Description | Required | Type |
---|---|---|---|
uploadId | Upload ID identifying the multipart upload whose parts are being listed | Yes | text |
max-parts | Maximum number of parts to return in the response | No | number |
part-number-marker | Part number after which to start listing parts | No | number |
Headers
Name | Description | Required | Type |
---|---|---|---|
x-amz-expected-bucket-owner | The account ID of the expected bucket owner | No | text |
x-amz-server-side-encryption-customer-algorithm | The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm | No | text |
x-amz-server-side-encryption-customer-key | The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm | No | text |
x-amz-server-side-encryption-customer-key-MD5 | The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm | No | text |
Response Syntax
HTTP/1.1 200 OK
x-amz-id-2: RequestId
x-amz-request-id: AmazonRequestId
Date: ISO8601Date
<?xml version="1.0" encoding="UTF-8"?>
<ListPartsResult>
<Bucket>BucketName</Bucket>
<Key>ObjectKey</Key>
<UploadId>UploadId</UploadId>
<Initiator>
<ID>InitiatorId</ID>
<DisplayName>InitiatorName</DisplayName>
</Initiator>
<Owner>
<ID>OwnerId</ID>
<DisplayName>OwnerName</DisplayName>
</Owner>
<PartNumberMarker>PartNumberMarker</PartNumberMarker>
<NextPartNumberMarker>NextPartNumberMarker</NextPartNumberMarker>
<MaxParts>MaxParts</MaxParts>
<IsTruncated>true|false</IsTruncated>
<Part>
<PartNumber>PartNumber</PartNumber>
<LastModified>ISO8601Date</LastModified>
<ETag>EntityTag</ETag>
<Size>Size</Size>
</Part>
</ListPartsResult>
Values in italics indicate variable response values.
Response Elements
Response Headers
Name | Description | Required | Type |
---|---|---|---|
x-amz-id-2 | An identifier for the request | No | String |
x-amz-request-id | A unique identifier for the request | No | String |
Date | The date and time at which the response was sent | No | String |
x-amz-abort-date | If a lifecycle rule is configured to abort incomplete multipart uploads and the object name matches the rule's prefix, this header indicates when the upload will become eligible for abort operation. Not supported for directory buckets | No | String |
x-amz-abort-rule-id | Returned with x-amz-abort-date, identifies the lifecycle rule that defines the abort incomplete multipart uploads action. Not supported for directory buckets | No | String |
x-amz-request-charged | If present, indicates that the requester was successfully charged for the request Valid values: requester | No | String |
Response Body Elements
Name | Description | Required | Type |
---|---|---|---|
ListPartsResult | Container for the response | Yes | String |
Bucket | Name of the bucket to which the multipart upload was initiated | No | String |
Key | Object key for which the multipart upload was initiated | No | String |
UploadId | Upload ID identifying the multipart upload whose parts are being listed | No | String |
ChecksumAlgorithm | The algorithm that was used to create a checksum of the object Valid values: CRC32 | CRC32C | SHA1 | SHA256 | CRC64NVME | No | String |
ChecksumType | The checksum type that determines how part-level checksums are combined to create an object-level checksum for multipart objects. Used to verify the checksum type matches what was specified in the CreateMultipartUpload request Valid values: COMPOSITE | FULL_OBJECT | No | String |
PartNumberMarker | Part number after which listing begins | No | String |
NextPartNumberMarker | When a list is truncated, this is the part number marker to use in a subsequent request | No | Integer |
MaxParts | Maximum number of parts allowed in the response | No | Integer |
IsTruncated | Indicates whether the returned list of parts is truncated | No | Boolean |
Part | Container for elements related to a particular part | No | Part |
PartNumber | Part number identifying the part | No | Integer |
LastModified | Date and time at which the part was uploaded | No | String |
Size | Size in bytes of the uploaded part data | No | String |
Owner | Container element that identifies the object owner | No | Owner |
Initiator | Container element that identifies who initiated the multipart upload. | No | Initiator |
Special Errors
Error Code | Description |
---|---|
NoSuchBucket | The specified bucket does not exist |
NoSuchUpload | The specified multipart upload does not exist |
403 | Forbidden. Authentication failed or you do not have permission to list parts |
Permissions
You must have the s3:ListMultipartUploadParts
permission on the bucket. If the upload was created using server-side encryption with KMS keys (SSE-KMS), you must also have permission to the kms:Decrypt
action.
Related Operations
The following operations are related to ListParts
:
- CreateMultipartUpload
- UploadPart
- CompleteMultipartUpload
- AbortMultipartUpload
- ListMultipartUploads
Examples
Example 1: List all parts of a multipart upload
GET /large-file.zip?uploadId=VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA HTTP/1.1
Host: my-bucket.qstorage.quilibrium.com
Values in italics indicate user input and should be replaced with actual values.
HTTP/1.1 200 OK
x-amz-id-2: Example7qoYGN7uMuFuYS6m7a4l
x-amz-request-id: TX234S0F24A06C7
Date: Wed, 01 Mar 2024 12:00:00 GMT
<?xml version="1.0" encoding="UTF-8"?>
<ListPartsResult>
<Bucket>my-bucket</Bucket>
<Key>large-file.zip</Key>
<UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
<Initiator>
<ID>123456789012</ID>
<DisplayName>Qm12311</DisplayName>
</Initiator>
<Owner>
<ID>123456789012</ID>
<DisplayName>Qm12345</DisplayName>
</Owner>
<PartNumberMarker>0</PartNumberMarker>
<NextPartNumberMarker>2</NextPartNumberMarker>
<MaxParts>1000</MaxParts>
<IsTruncated>false</IsTruncated>
<Part>
<PartNumber>1</PartNumber>
<LastModified>2024-03-01T11:30:00.000Z</LastModified>
<ETag>"7778aef83f66abc1fa1e8477f296d394"</ETag>
<Size>5242880</Size>
</Part>
<Part>
<PartNumber>2</PartNumber>
<LastModified>2024-03-01T11:45:00.000Z</LastModified>
<ETag>"7778aef83f66abc1fa1e8477f296d394"</ETag>
<Size>5242880</Size>
</Part>
</ListPartsResult>
Values in italics indicate variable response values.
Example 2: List parts with a maximum limit and part number marker
GET /large-file.zip?uploadId=VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA&max-parts=2&part-number-marker=1 HTTP/1.1
Host: my-bucket.qstorage.quilibrium.com
Values in italics indicate user input and should be replaced with actual values.
HTTP/1.1 200 OK
x-amz-id-2: Example7qoYGN7uMuFuYS6m7a4l
x-amz-request-id: TX234S0F24A06C7
Date: Wed, 01 Mar 2024 12:00:00 GMT
<?xml version="1.0" encoding="UTF-8"?>
<ListPartsResult>
<Bucket>my-bucket</Bucket>
<Key>large-file.zip</Key>
<UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
<Initiator>
<ID>123456789012</ID>
<DisplayName>Qm12311</DisplayName>
</Initiator>
<Owner>
<ID>123456789012</ID>
<DisplayName>_Qm12345</DisplayName>
</Owner>
<PartNumberMarker>1</PartNumberMarker>
<NextPartNumberMarker>3</NextPartNumberMarker>
<MaxParts>2</MaxParts>
<IsTruncated>true</IsTruncated>
<Part>
<PartNumber>2</PartNumber>
<LastModified>2024-03-01T11:30:00.000Z</LastModified>
<ETag>"7778aef83f66abc1fa1e8477f296d394"</ETag>
<Size>10485760</Size>
</Part>
<Part>
<PartNumber>3</PartNumber>
<LastModified>2024-03-01T11:45:00.000Z</LastModified>
<ETag>"aaaa18db4cc2f85cedef654fccc4a4x8"</ETag>
<Size>10485760</Size>
</Part>
</ListPartsResult>
Values in italics indicate variable response values.
Try It Out
Test ListParts
List the parts that have been uploaded for a specific multipart upload.
Coming Soon
This feature is currently under development and will be available soon.
/> />