List Multipart Uploads

You can use this operation to query all in-progress multipart uploads that have been initiated but not been combined or aborted.

Request Syntax

GET /?uploads&max-uploads=max HTTP/1.1
 User-Agent: agent
 Host: bucketname.obs.example.com
 Accept: */*
 Date: Mon, 1 Nov 2010 20:34:56 GMT
 Authorization: auth

Request Parameters

This request uses parameters to specify the query range for multipart uploads. Table 1 describes the parameters.

Table 1 Request parameters

Parameter

Description

Remarks

delimiter

Character used to group object keys.

All keys that contain the same string between prefix, if specified, and the first occurrence of the delimiter after prefix are grouped under a single result element CommonPrefixes. CommonPrefix contains no information about any multipart upload. It is only used for informing users of the following: multipart uploads are contained in this group.

Type: String

Optional

prefix

Lists in-progress uploads only for those object keys that begin with the specified prefix.

Type: String

Optional

max-uploads

Sets the maximum number (ranging from 1 to 1000) of multipart uploads to be returned in the response body. If the value is not in this range, 1000 is returned by default.

Type: Integer

Optional

key-marker

Indicates the multipart upload after which the listing begins.

Type: String

Optional

upload-id-marker

Indicates the multipart upload after which the listing begins. This parameter is used together with key-marker.

Type: String

Optional

Request Headers

This request uses common headers. For details about common request headers, see section Common Request Headers.

Request Elements

This request involves no elements.

Response Syntax

HTTP/1.1 status_code
 Server: OBS
 x-amz-request-id: request id
 x-reserved: amazon, aws and amazon web services are trademarks or registered trademarks of Amazon Technologies, Inc
 x-amz-id-2: id2
 Content-Length: length
 Date: date
 Connection: connect state

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <ListMultipartUploadsResult xmlns="http://obs.example.com/doc/2015-06-30/">
 <Bucket>bucket</Bucket>
 <KeyMarker></KeyMarker>
 <UploadIdMarker></UploadIdMarker>
 <NextKeyMarker>nextMarker</NextKeyMarker>
 <NextUploadIdMarker>idMarker</NextUploadIdMarker>
 <Delimiter></Delimiter>
 <Prefix></Prefix>
 <MaxUploads>maxUploads</MaxUploads>
 <IsTruncated>true</IsTruncated>
 <Upload>
 <Key>key</Key>
 <UploadId>uploadID</UploadId>
 <Initiator>
 <ID>id</ID>
 <DisplayName>name</DisplayName>
 </Initiator>
 <Owner>
 <ID>ownerID</ID>
 <DisplayName>OwnerDisplayName</DisplayName>
 </Owner>
 <StorageClass>STANDARD</StorageClass>
 <Initiated>initiatedDate</Initiated>
 </Upload>
 </ListMultipartUploadsResult>

Response Headers

This response uses common headers. For details about common response headers, see section Common Response Headers.

Response Elements

This response contains elements to provide details about the listed multipart uploads. Table 2 describes the elements.

Table 2 Response elements

Element

Description

Remarks

ListMultipartUploads Result

Container for the response

Type: Container

Children: Bucket, KeyMarker, UploadIdMarker, NextKeyMarker, NextUploadIdMarker, Delimiter, Prefix, MaxUploads, IsTruncated, Upload, and CommonPrefixes

Ancestor: None

Mandatory

Bucket

Name of the bucket to which the multipart upload was initiated

Type: String

Ancestor: ListMultipartUploadsResult

Mandatory

KeyMarker

Object keys at or after which the multipart upload listing begins

Type: String

Ancestor: ListMultipartUploadsResult

Mandatory

UploadIdMarker

Upload ID after which the multipart upload listing begins

Type: String

Ancestor: ListMultipartUploadsResult

Mandatory

NextKeyMarker

Value of KeyMarker in a subsequent request after a multipart upload list is truncated

Type: String

Ancestor: ListMultipartUploadsResult

Mandatory

NextUploadIdMarker

Value of UploadMarker in a subsequent request after a multipart upload list is truncated

Type: String

Ancestor: ListMultipartUploadsResult

Mandatory

MaxUploads

Maximum of multipart uploads to be returned in the response

Type: Integer

Ancestor: ListMultipartUploadsResult

Mandatory

IsTruncated

Indicates whether the returned list of multipart uploads is truncated. true indicates that the list was truncated and false indicates that the list was not truncated.

Type: Boolean

Ancestor: ListMultipartUploadsResult

Mandatory

Upload

Container for elements related to a specific multipart upload

Type: Container

Children: Key, UploadId, InitiatorOwner, StorageClass, Initiated

Ancestor: ListMultipartUploadsResult

Mandatory

Key

Key of the object for which the multipart upload was initiated

Type: String

Ancestor: Upload

Mandatory

UploadId

ID of the multipart upload

Type: String

Ancestor: Upload

Mandatory

Initiator

Container element that identifies who initiated the multipart upload

Children: ID, DisplayName

Type: Container

Ancestor: Upload

Mandatory

ID

DomainId of the user.

Type: String

Ancestor: Initiator, Owner

Mandatory

DisplayName

Initiator name

Type: String

Ancestor: Initiator, Owner

Mandatory

Owner

Container element that identifies the object owner. This element is the same as Initiator and compatible with Amazon S3. In S3, if a multipart upload is initiated by an IAM user, Initiator may differ from Owner.

Type: Container

Children: ID, DisplayName

Ancestor: Upload

Mandatory

StorageClass

Type of storage that will be used for storing objects after the multipart upload is complete.

Type: Enumeration

Ancestor: Upload

Mandatory

Initiated

Date and time at which the multipart upload was initiated

Type: Date

Ancestor: Upload

Mandatory

ListMultipartUploadsResult.Prefix

Contains the prefix specified in the request.

Type: String

Ancestor: ListMultipartUploadsResult

Mandatory

Delimiter

Contains the delimiter specified in the request.

Type: String

Ancestor: ListMultipartUploadsResult

Mandatory

CommonPrefixes

If you specify a delimiter in the request, the result returns each distinct key prefix containing the delimiter in a CommonPrefixes element.

Type: Container

Ancestor: ListMultipartUploadsResult

Mandatory

CommonPrefixes. Prefix

Prefix contained in a CommonPrefix element

Type: String

Ancestor: CommonPrefixes

Mandatory

Error Responses

  1. If an AK or signature is invalid, OBS returns status code 403 Forbidden and error code AccessDenied.

  2. If the requested bucket does not exist, OBS returns status code 404 Not Found and error code NoSuchBucket.

  3. If the requester does not have READ permission for the requested bucket, OBS returns status code 403 Forbidden and error code AccessDenied.

  4. If the value of maxUploads is a non-integer or smaller than 0, OBS returns status code 400 Bad Request.

For details about other error responses, see Table 1.

Sample Request

GET /?uploads&max-uploads=3 HTTP/1.1
 User-Agent: curl/7.19.0
 Host: bucketname.obs.example.com
 Accept: */*
 Date: Mon, 1 Nov 2010 20:34:56 GMT
 Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU=

Sample Response

HTTP/1.1 200 OK
 Server: OBS
 x-amz-request-id: 656c76696e6727732072657175657374
 x-reserved: amazon, aws and amazon web services are trademarks or registered trademarks of Amazon Technologies, Inc
 x-amz-id-2: Uuag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg==
 Date: Mon, 1 Nov 2010 20:34:56 GMT
 Content-Length: 1330
 Connection: keep-alive

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <ListMultipartUploadsResult xmlns="http://obs.example.com/doc/2015-06-30/">
 <Bucket>bucket</Bucket>
 <KeyMarker></KeyMarker>
 <UploadIdMarker></UploadIdMarker>
 <NextKeyMarker>my-movie.m2ts</NextKeyMarker>
 <NextUploadIdMarker>YW55gd2h5IGVsdmluZydzIHVwbG9hZCBmYWlsZWQ</NextUploadIdMarker>
 <Delimiter></Delimiter>
 <Prefix></Prefix>
 <MaxUploads>3</MaxUploads>
 <IsTruncated>true</IsTruncated>
 <Upload>
 <Key>my-divisor</Key>
 <UploadId>XMgbGlrZSBlbHZpbmcncyBub3QgaGF2aW5nIG11Y2ggbHVjaw</UploadId>
 <Initiator>
 <ID>b1d16700c70b0b05597d7acd6a3f92be</ID>
 <DisplayName>InitiatorDisplayName</DisplayName>
 </Initiator>
 <Owner>
 <ID>75aa57f09aa0c8caeab4f84e99d10f8e</ID>
 <DisplayName>OwnerDisplayName</DisplayName>
 </Owner>
 <StorageClass>STANDARD</StorageClass>
 <Initiated>2010-11-10T20:48:33.000Z</Initiated>
 </Upload>
 <Upload>
 <Key>my-movie.m2ts</Key>
 <UploadId>VXBsb2FkIElEIGZvciBlbHZpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
 <Initiator>
 <ID>b1d16700c70b0b05597d7acd6a3f92be</ID>
 <DisplayName>InitiatorDisplayName</DisplayName>
 </Initiator>
 <Owner>
 <ID>b1d16700c70b0b05597d7acd6a3f92be</ID>
 <DisplayName>InitiatorDisplayName</DisplayName>
 </Owner>
 <StorageClass>STANDARD</StorageClass>
 <Initiated>2010-11-10T20:48:33.000Z</Initiated>
 </Upload>
 <Upload>
 <Key>my-movie.m2ts</Key>
 <UploadId>YW55IGlkZWEgd2h5IGVsdmluZydzIHVwbG9hZCBmYWlsZWQ</UploadId>
 <Initiator>
 <ID>75aa57f09aa0c8caeab4f84e99d10f8e</ID>
 <DisplayName>OwnerDisplayName</DisplayName>
 </Initiator>
 <Owner>
 <ID>b1d16700c70b0b05597d7acd6a3f92be</ID>
 <DisplayName>InitiatorDisplayName</DisplayName>
 </Owner>
 <StorageClass>STANDARD</StorageClass>
 <Initiated>2010-11-10T20:49:33.000Z</Initiated>
 </Upload>
 </ListMultipartUploadsResult>