Cloud Enterprise Object Storage REST API

Search (SHIFT+S)




Upload Part

PUT /{object_name}?uploadId={upload_id}&partNumber={partNumber}

Uploads a part when performing a multi-part upload.

Used in the following two cases:

  1. Upload a part in the multipart upload where the part content is encoded in the content header.

  2. Copy a range from an existing object as part of the multi-part upload. The object and the bytes to be copied from the object are specified in the request headers.

URL Format

Host Style: http://bucketname.ns1.emc.com/{object_name}?uploadId={upload_id}&partNumber={partNumber}
Path Style: http://ns1.emc.com/bucketname/{object_name}?uploadId={upload_id}&partNumber={partNumber}

Alternatively, both styles can specify the namespace using the x-emc-namespace header.


Query Parameters

uploadIdUnique identifier of the multi-part upload. Obtained from the Object Init Uploads operation.
partNumberUnique identifier for a part that also defines its position in the created object. A number between 1 to 10000.

Request Headers

Content-Length requiredSpecifies the size of the part in bytes (case 1)
Content-MD5 optionalBase64-encoded 128-bit MD5 digest of the part data (Case 1)
Expect optionalWhen your application uses 100-continue, it does not send the request body until it receives an acknowledgment. If the message is rejected based on the headers, the body of the message is not sent (Case 1) Valid values : 100-continue
x-amz-copy-source requiredName of the source bucket and the source object key name separated by / (Case 2)
x-amz-copy-source-range optionalRange of bytes to copy from the source object
x-amz-copy-source-if-match optionalPerform a copy if the source object entity tag (ETag) matches the specified value (Case 2)
x-amz-copy-source-if-none-match optionalPerform a copy if the source object entity tag (ETag) is different than the value specified using this header (Case 2)
x-amz-copy-source-if-unmodified-since optionalPerform a copy if the source object is not modified after the time specified using this header (Case 2)
x-amz-copy-source-if-modified-since optionalPerform a copy if the source object is modified after the time specified using this header (Case 2)

Prerequisites

The following conditions must be met in order to call this operation.

  • A multi-part upload must have been initiated and returned a valid uploadId

  • User should have WRITE permission on the bucket

  • BaseUrl used in a host-style request URL should be pre-configured using the ECS Management API or the ECS Portal (for example, emc.com in the URL: bucketname.ns1.emc.com).

  • Namespace and bucket corresponding to this object should exist


Request Payload

No Request Payload


Response Headers

x-amz-copy-source-version-id optionalVersion number of the source object copied if versioning is enabled on the source bucket (Case 2)

Response Body

Response indicating Success or Failure for this operation.