Object Operations

Put Object

Adds an object to a bucket. You must have write permissions on the bucket to perform this operation.

Syntax

PUT /{bucket}/{объект} HTTP/1.1

Request Header

Name Description Valid Values Required
content-md5 A base64 encoded MD-5 hash of the message A string. No defaults or constraints No
content-type A standard MIME type Any MIME type. Default: binary/octet-stream No
x-amz-meta-<…> User metadata. Stored with the object A string up to 8kb. No defaults No
x-amz-acl ACL rule set private, public-read, public-read-write, authenticated-read No

Copy Object

To copy an object, use PUT and specify a destination bucket and the object name.

Syntax

PUT /{целевой-bucket}/{целевой-объект} HTTP/1.1

x-amz-copy-source: {исходный-bucket}/{исходный-объект}

Request Header

Name Description Valid Values Required
x-amz-copy-source The source bucket name + object name {bucket}/{obj} Yes
x-amz-acl ACL rule set private,public-read,public-read-write,authenticated-read No
x-amz-copy-if-modified-since Copies only if modified since the timestamp Timestamp No
x-amz-copy-if-unmodified-since Copies only if unmodified since the timestamp Timestamp No
x-amz-copy-if-match Copies only if object ETag matches ETag Entity Tag No
x-amz-copy-if-none-match Copies only if object ETag doesn’t match. Entity Tag No

Response Entities

Name Type Description
CopyObjectResult Container A container for the response elements
LastModified Date The last modify date of the source object
Etag String The ETag of the new object.

Remove Object

Removes an object. Requires WRITE permission set on the containing bucket.

Syntax

DELETE /{bucket}/{объект} HTTP/1.1

Get Object

Retrieves an object from a bucket.

Syntax

GET /{bucket}/{объект} HTTP/1.1

Request Header

Name Description Valid Values Required
range The range of objects to retrieve Range: bytes=beginbyte-endbyte No
if-modified-since Gets only if modified since the timestamp Timestamp No
if-unmodified-since Gets only if not modified since the timestamp Timestamp No
if-match Copies only if object ETag matches ETag Entity Tag No
if-none-match Copies only if object ETag doesn’t match. Entity Tag No

Response headers

Name Description
Content-Range Data range, will only be returned if the range header field was specified in the request

Get Object Info

Returns information about object. This request will return the same header information as with the Get Object request, but will include the metadata only, not the object data payload.

Syntax

HEAD /{bucket}/{объект} HTTP/1.1

Response headers

Name Description Valid Values Required
range The range of the object to retrieve Range: bytes=beginbyte-endbyte No
if-modified-since Gets only if modified since the timestamp Timestamp No
if-unmodified-since Gets only if not modified since the timestamp Timestamp No
if-match Copies only if object ETag matches ETag Entity Tag No
if-none-match Copies only if object ETag doesn’t match. Entity Tag No

Get Object ACL

Syntax

GET /{bucket}/{объект}?acl HTTP/1.1

Bucket Response Entities

Name Type Description
AccessControlPolicy Container A container for the response.
AccessControlList Container A container for the ACL information.
Owner Container A container for the bucket owner’s ID and DisplayName.
ID String The object owner’s ID.
DisplayName String The object owner’s display name
Grant Container A container for Grantee and Permission.
Grantee Container A container for the DisplayName and ID of the user receiving a grant of permission.
Permission String The permission given to the Grantee object.

Set Object ACL

Syntax

PUT /{bucket}/{объект}?acl

Request Header

Name Type Description
AccessControlPolicy Container A container for the response.
AccessControlList Container A container for the ACL information.
Owner Container A container for the bucket owner’s ID and DisplayName.
ID String The object owner’s ID.
DisplayName String The object owner’s display name
Grant Container A container for Grantee and Permission.
Grantee Container A container for the DisplayName and ID of the user receiving a grant of permission.
Permission String The permission given to the Grantee object

Initiate a multipart upload

Initiate a multipart upload process.

Syntax

POST /{bucket}/{объект}?uploads

Response headers

Name Description Valid Values Required
content-md5 A base64 encoded MD-5 hash of the message A string. No defaults or constraints No
content-type A standard MIME type Any MIME type. Default: binary/octet-stream No
x-amz-meta-<…> User metadata. Stored with the object A string up to 8kb. No defaults No
x-amz-acl ACL rule set private, public-read, public-read-write, authenticated-read No

Response Entities

Name Type Description
InitiatedMultipartUploadsResult Container A container for the results
Bucket String The bucket that will receive the object contents
Key String The key specified by the key request parameter (if any).
UploadId String The ID specified by the upload-id request parameter identifying the multipart upload (if any)

Multipart upload parts

Syntax

PUT /{bucket}/{объект}?partNumber=&uploadId= HTTP/1.1

HTTP Response

The following HTTP response may be returned:

HTTP Status Status Code Description
404 NoSuchUpload Specified upload-id does not match any initiated upload on this object

List of multipart upload parts

Syntax

GET /{bucket}/{объект}?uploadId=123 HTTP/1.1

Response Entities

Name Type Description
InitiatedMultipartUploadsResult Container A container for the results
Bucket String The bucket that will receive the object contents
Key String The key specified by the key request parameter (if any)
UploadId String The ID specified by the upload-id request parameter identifying the multipart upload (if any)
Initiator Container The ID specified by the upload-id request parameter identifying the multipart upload (if any)
ID String The object owner’s ID.
DisplayName String The object owner’s display name
Owner Container A container for the ID and DisplayName of the user who owns the uploaded object.
StorageClass String The method used to store the resulting object. STANDARD or REDUCED_REDUNDANCY.
PartNumberMarker String The key marker to use in a subsequent request if IsTruncated is true.
NextPartNumberMarker String The next part marker to use in a subsequent request if IsTruncated is true. The end of the list
MaxParts Integer The max parts allowed in the response as specified by the max-parts request parameter
IsTruncated Boolean If true, only a subset of the object’s upload contents were returned
Part Container A container for Key, Part, InitiatorOwner, StorageClass, and Initiated elements.
PartNumber Integer The identification number of the part
ETag String The part’s entity tag
Size Integer The size of the uploaded part

Complete multipart upload

Assembles uploaded parts and creates a new object, thereby completing a multipart upload

Syntax

POST /{bucket}/{объект}?uploadId= HTTP/1.1

Response Entities

Name Description Valid Values Required
CompleteMultipartUpload Container A container consisting of one or more parts Yes
Part Container A container for the PartNumber and ETag Yes
PartNumber Integer The identifier of the part Yes
ETag String The part’s entity tag Yes

Bucket Response Entities

Name Type Description
CompleteMultipartUploadResult Container A container for the response.
Location URI The resource identifier (path) of the new object
Bucket String The name of the bucket that contains the new object
Key String The object’s key.
ETag String The entity tag of the new object

Abort multipart upload

Syntax

DELETE /{bucket}/{объект}?uploadId= HTTP/1.1