Adds an object to a bucket. You must have write permissions on the bucket to perform this operation.
PUT /{bucket}/{object} HTTP/1.1
| 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 | A canned ACL. | private, public-read, public-read-write, authenticated-read | No |
To copy an object, use PUT and specify a destination bucket and the object name.
PUT /{dest-bucket}/{dest-object} HTTP/1.1
x-amz-copy-source: {source-bucket}/{source-object}
| Name | Description | Valid Values | Required |
|---|---|---|---|
| x-amz-copy-source | The source bucket name + object name. | {bucket}/{obj} | Yes |
| x-amz-acl | A canned ACL. | 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 |
| Name | Type | Description |
|---|---|---|
| CopyObjectResult | Container | A container for the response elements. |
| LastModified | Date | The last modified date of the source object. |
| Etag | String | The ETag of the new object. |
Removes an object. Requires WRITE permission set on the containing bucket.
DELETE /{bucket}/{object} HTTP/1.1
Retrieves an object from a bucket within RADOS.
GET /{bucket}/{object} HTTP/1.1
| 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 | Gets only if object ETag matches ETag. | Entity Tag | No |
| if-none-match | Gets only if object ETag matches ETag. | Entity Tag | No |
| Name | Description |
|---|---|
| Content-Range | Data range, will only be returned if the range header field was specified in the request |
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.
HEAD /{bucket}/{object} HTTP/1.1
| 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 | Gets only if object ETag matches ETag. | Entity Tag | No |
| if-none-match | Gets only if object ETag matches ETag. | Entity Tag | No |
GET /{bucket}/{object}?acl HTTP/1.1
| Name | Type | Description |
|---|---|---|
| AccessControlPolicy | Container | A container for the response. |
| AccessControlList | Container | A container for the ACL information. |
| Owner | Container | A container for the object 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. |
PUT /{bucket}/{object}?acl
| Name | Type | Description |
|---|---|---|
| AccessControlPolicy | Container | A container for the response. |
| AccessControlList | Container | A container for the ACL information. |
| Owner | Container | A container for the object 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 multi-part upload process.
POST /{bucket}/{object}?uploads
| 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 | A canned ACL. | private, public-read, public-read-write, authenticated-read | No |
| 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). |
PUT /{bucket}/{object}?partNumber=&uploadId= HTTP/1.1
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 |
GET /{bucket}/{object}?uploadId=123 HTTP/1.1
| 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 | Contains the ID and DisplayName of the user who initiated the upload. |
| ID | String | The initiator’s ID. |
| DisplayName | String | The initiator’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 part marker to use in a subsequent request if IsTruncated is true. Precedes the list. |
| 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. |
Assembles uploaded parts and creates a new object, thereby completing a multipart upload.
POST /{bucket}/{object}?uploadId= HTTP/1.1
| Name | Type | Description | 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 |
| 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. |