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.
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.
Content | optional | Used to specify the number of bytes supplied by an append, update, or overwritten operation. |
Range | optional | Specifies byte range with an object.
|
x-amz-acl | optional | Used 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 | optional | Allows grantee to read the object data and metadata |
x-amz-grant-read-acp | optional | Allows grantee to read the object ACL |
x-amz-grant-write-acp | optional | Allows grantee to write the ACL for the object |
x-amz-grant-full-control | optional | Allows grantee the READ, READ_ACP, and WRITE_ACP permissions on the object |
x-emc-retention-period | optional | Applying retention period in seconds, -1 denotes infinity |
x-emc-retention-policy | optional | Applying retention policy |
If-None-Match | optional | If "If-None-match:*" is set, then put-if-absent semantics for the createObject |
x-amz-copy-source | optional | Used to specify the name of the source bucket and key name of the source object, separated by a slash. |
x-amz-metadata-directive | optional | Used to specify the metadata directive to be used when copying an object either to itself or a different object, valid values include,
|
x-emc-multipart-copy | optional | Indicates a copy-range API request |
x-emc-copy-mode | optional | Indicates how ECS will copy the data, by default is deep |
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
No Request Payload
x-amz-version-id | optional | Version of the object |
x-emc-content-md5 | optional | MD5 checksum of data changed on a Range update |
x-amz-expiration | optional | If 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 | optional | On object update or overwrite, this shows the size of the object prior to being modifed |
Response indicating Success or Failure for this operation.