S3 Object Operations:Create Or Update Object

Search (SHIFT+S)

Create Or Update Object

PUT /{object_name}

Creates an object or performs an update, append or overwrite operation for a specified byte range within an object. Byte range updates, appends, and overwrites are ECS extensions to the S3 API.

For object creation, if there is already an existing object with the same name, the object is overwritten.

The object ACL can be set with the object creation request, but it is optional. When set, the ACL can be specified with a canned ACL using the x-amz-acl request header, or specified explicitly using the x-amz-grant-read, x-amz-grant-write, x-amz-grant-read-acp, x-amz-grant-write-acp, x-amz-grant-full-control headers. These headers map to the set of permissions S3 supports in an ACL. The object ACL can be set with either a canned ACL or explicitly, if both are specified the canned ACL is ignored.

URL Format

Host Style: http://bucketname.ns1.emc.com/{object_name}
Path Style: http://ns1.emc.com/bucketname/{object_name}

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

Request Headers

Content optionalUsed to specify the number of bytes supplied by an append, update, or overwritten operation.
Range optionalSpecifies byte range with an object.
  1. To append use:bytes=-1-
  2. To update use:bytes=<start>-<end> for example, bytes=10-14
  3. To overwrite, use bytes=<start-position>-,for example:bytes=10-
x-amz-acl optionalUsed to specify the canned ACL for the object you are creating. Valid values: private, public-read, public-read-write, authenticated-read, bucket-owner-read, bucket-owner-full-control
x-amz-grant-read optionalAllows grantee to read the object data and metadata
x-amz-grant-read-acp optionalAllows grantee to read the object ACL
x-amz-grant-write-acp optionalAllows grantee to write the ACL for the object
x-amz-grant-full-control optionalAllows grantee the READ, READ_ACP, and WRITE_ACP permissions on the object
x-emc-retention-period optionalApplying retention period in seconds, -1 denotes infinity
x-emc-retention-policy optionalApplying retention policy


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

  • 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-version-id optionalVersion of the object
x-emc-content-md5 optionalMD5 checksum of data changed on a Range update
x-amz-expiration optionalIf the object expiration is configured, the response includes this header. It includes the expiry-date and rule-id key-value pairs providing object expiration information. The value of the rule-id is URL encoded.
x-emc-previous-object-size optionalOn object update or overwrite, this shows the size of the object prior to being modifed

Response Body

Response indicating Success or Failure for this operation.