Data objects ingested to the StorageGRID Webscale system through Swift or CDMI cannot be accessed through S3.
All of the operations on objects, except GET Object ACL and OPTIONS / support StorageGRID Webscale consistency controls. For information on using the Consistency-Control header, see How StorageGRID Webscale implements the S3 REST API.
The following operations on objects are supported by the StorageGRID Webscale system:
Operation | Implementation |
---|---|
DELETE Object | Multi-Factor Authentication (MFA) and the response header x-amz-mfa are not supported. Versioning To remove a specific version, the requestor must be the bucket owner and use the versionId subresource. Using this subresource permanently deletes the version. If the versionId corresponds to a delete marker, the response header x-amz-delete-marker is returned set to true.
|
DELETE Multiple Objects | Multi-Factor Authentication (MFA) and the response header x-amz-mfa are not supported. Multiple objects can be deleted in the same request message. Note: The DELETE Multiple Objects request is not supported on versioned buckets.
Unlike the PUT object operation, the DELETE Multiple Objects operation does not support chunked transfer encoding and the content encoding gzip attributes. |
GET Object | The following request headers are not supported and return XNotImplemented:
Versioning If a versionId subresource is not specified, the operation fetches the most recent version of the object in a versioned bucket. If the current version of the object is a delete marker, a "Not Found" status is returned with the x-amz-delete-marker response header set to true. |
GET Object ACL | If the necessary access credentials are provided for the account, the operation returns a positive response and the ID, DisplayName, and Permission of the object owner, indicating that the owner has full access to the object. |
HEAD Object | The following request headers are not supported and return XNotImplemented:
Versioning If a versionId subresource is not specified, the operation fetches the most recent version of the object in a versioned bucket. If the current version of the object is a delete marker, a "Not Found" status is returned with the x-amz-delete-marker response header set to true. |
PUT Object | Storage class options The x-amz-storage-class request header is supported with the following enumerated values:
Note: The REDUCED_REDUNDANCY storage class is an option used to limit redundant storage for data that is better replicated elsewhere, such as with ILM policies. Therefore, specifying the REDUCED_REDUNDANCY value does not affect the specified ILM policy, and it does not result in data being stored at lower levels of redundancy in the StorageGRID Webscale system.
CAUTION: Be careful when ingesting objects using REDUCED_REDUNDANCY to create only a single initial copy of the object data. If the single copy is created on a Storage Node that fails, and ILM is not yet satisfied, the result is unrecoverable loss of data.
The PUT Object operation supports the Transfer-Encoding:chunked and Content-Encoding:gzip attributes. Request headers The following request headers are supported:
The following request headers are not supported:
The following request headers are not supported and return XNotImplemented:
Versioning If versioning is enabled for a bucket, a unique versionId is automatically generated for the version of the object being stored. This versionId is also returned in the response using the x-amz-version-id response header. If versioning is suspended, the object version is stored with a null versionId and if a null version already exists it will be overwritten. For more information on versioning, see the "PUT Bucket versioning" and "GET Bucket versioning" entries in Operations on buckets. |
PUT Object - Copy | The following request headers are supported:
The following request headers are not supported and return XNotImplemented:
If the source bucket and key, specified in the x-amz-copy-source header, is different from the destination bucket and key, a copy of the source object data is written to the destination. If the source and destination match, and the x-amz-metadata-directive header is specified as REPLACE, the object’s metadata is updated with the metadata values supplied in the request.
Note: The server-side-encryption value of the object cannot be updated. Instead, make a copy with a new server-side-encryption value using x-amz-metadata-directive: REPLACE.
Versioning If the source bucket is versioned, you can use the x-amz-copy-source header to copy the latest version of an object. To copy a specific version of an object, you must explicitly specify the version to copy using the versionId subresource. If the destination bucket is versioned, the generated version is returned in the x-amz-version-id response header. If versioning is suspended for the target bucket, then x-amz-version-id returns a "null" value. |