X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fdoc%2Fradosgw%2Fs3%2Fobjectops.rst;fp=src%2Fceph%2Fdoc%2Fradosgw%2Fs3%2Fobjectops.rst;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=b8a2475bf9d684ca2be26ffdd229aa283cbe962d;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/doc/radosgw/s3/objectops.rst b/src/ceph/doc/radosgw/s3/objectops.rst deleted file mode 100644 index b8a2475..0000000 --- a/src/ceph/doc/radosgw/s3/objectops.rst +++ /dev/null @@ -1,403 +0,0 @@ -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}/{object} HTTP/1.1 - -Request 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** | A canned ACL. | ``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 /{dest-bucket}/{dest-object} HTTP/1.1 - x-amz-copy-source: {source-bucket}/{source-object} - -Request Headers -~~~~~~~~~~~~~~~ - -+--------------------------------------+-------------------------------------------------+------------------------+------------+ -| 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``, | No | -| | | ``public-read``, | | -| | | ``public-read-write``, | | -| | | ``authenticated-read`` | | -+--------------------------------------+-------------------------------------------------+------------------------+------------+ -| **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 modified 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}/{object} HTTP/1.1 - - - -Get Object ----------- -Retrieves an object from a bucket within RADOS. - -Syntax -~~~~~~ - -:: - - GET /{bucket}/{object} HTTP/1.1 - -Request 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** | Gets only if object ETag matches ETag. | Entity Tag | No | -+---------------------------+------------------------------------------------+--------------------------------+------------+ -| **if-none-match** | Gets only if object ETag matches ETag. | 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}/{object} HTTP/1.1 - -Request 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** | Gets only if object ETag matches ETag. | Entity Tag | No | -+---------------------------+------------------------------------------------+--------------------------------+------------+ -| **if-none-match** | Gets only if object ETag matches ETag. | Entity Tag | No | -+---------------------------+------------------------------------------------+--------------------------------+------------+ - -Get Object ACL --------------- - -Syntax -~~~~~~ - -:: - - GET /{bucket}/{object}?acl HTTP/1.1 - -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 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. | -+---------------------------+-------------+----------------------------------------------------------------------------------------------+ - - - -Set Object ACL --------------- - -Syntax -~~~~~~ - -:: - - PUT /{bucket}/{object}?acl - -Request 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 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 Multi-part Upload --------------------------- - -Initiate a multi-part upload process. - -Syntax -~~~~~~ - -:: - - POST /{bucket}/{object}?uploads - -Request 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** | A canned ACL. | ``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 Part ---------------------- - -Syntax -~~~~~~ - -:: - - PUT /{bucket}/{object}?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 Multipart Upload Parts ---------------------------- - -Syntax -~~~~~~ - -:: - - GET /{bucket}/{object}?uploadId=123 HTTP/1.1 - -Response Entities -~~~~~~~~~~~~~~~~~ - -+-----------------------------------------+-------------+----------------------------------------------------------------------------------------------------------+ -| Name | Type | Description | -+=========================================+=============+==========================================================================================================+ -| ``ListPartsResult`` | 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 ``LastModified``, ``PartNumber``, ``ETag`` and ``Size`` elements. | -+-----------------------------------------+-------------+----------------------------------------------------------------------------------------------------------+ -| ``LastModified`` | Date | Date and time at which the part was uploaded. | -+-----------------------------------------+-------------+----------------------------------------------------------------------------------------------------------+ -| ``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}/{object}?uploadId= HTTP/1.1 - -Request Entities -~~~~~~~~~~~~~~~~ - -+----------------------------------+-------------+-----------------------------------------------------+----------+ -| 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 | -+----------------------------------+-------------+-----------------------------------------------------+----------+ - - -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}/{object}?uploadId= HTTP/1.1