S3 API compatibility
Supported S3 APIs
GET Service
cegedim.Cloud Object Storage Service supports marker and max-keys parameters to enable paging of bucket list.
For example:
DELETE Bucket
DELETE Bucket cors
DELETE Bucket lifecycle
Only the expiration part is supported in lifecycle.
Policies related to archiving (AWS Glacier like) are not supported.
Lifecycle is not supported on file system-enabled buckets.
DELETE Bucket policy
GET Bucket (List Objects)
For file system-enabled buckets, / is the only supported delimiter when listing objects in the bucket.
GET Bucket cors
GET Bucket acl
GET Bucket lifecycle
Only the expiration part is supported in lifecycle.
Policies related to archiving (AWS Glacier like) are not supported.
Lifecycle is not supported on file system-enabled buckets.
GET Bucket policy
GET Bucket Object versions
GET Bucket versioning
HEAD Bucket
List Multipart Uploads
PUT Bucket
Where PUT is performed on an existing bucket, refer to Behavior where bucket already exists.
PUT Bucket cors
PUT Bucket acl
PUT Bucket lifecycle
Only the expiration part is supported in lifecycle.
Policies related to archiving (AWS Glacier like) are not supported.
Lifecycle is not supported on file system-enabled buckets.
PUT Bucket policy
Bucket policies cannot be configured for operations that are not supported by cegedim.cloud Object Storage Service.
PUT Bucket versioning
DELETE Object
Delete Multiple Objects
GET Object
GET Object ACL
HEAD Object
PUT Object
Supports chunked PUT
PUT Object acl
PUT Object - Copy
OPTIONS object
Initiate Multipart Upload
Upload Part
Upload Part - Copy
Complete Multipart Upload
cegedim.cloud Object Storage Service returns an ETag of 00 for this request. This differs from the Amazon S3 response.
Abort Multipart Upload
List Parts
Unsupported S3 APIs
DELETE Bucket tagging
DELETE Bucket website
GET Bucket location
cegedim.cloud Object Storage Service is only aware of a single region.
GET Bucket logging
GET Bucket notification
Notification is only defined for reduced redundancy feature in S3. cegedim.cloud Object Storage Service does not currently support notifications.
GET Bucket tagging
GET Bucket requestPayment
cegedim.cloud Object Storage Service uses its own model for payments.
GET Bucket website
PUT Bucket logging
PUT Bucket notification
Notification is only defined for the reduced redundancy feature in S3. cegedim.cloud Object Storage Service does not currently support notifications.
PUT Bucket tagging
PUT Bucket requestPayment
cegedim.cloud Object Storage Service uses its own model for payments.
PUT Bucket website
Object APIs
GET Object torrent
POST Object
POST Object restore
This operation is related to AWS Glacier, which is not supported.
Specific behaviors
Specific behaviors compared to AWS API :
Creation of buckets using names with fewer than three characters fails with :
When creating a bucket or object with empty content, cegedim.cloud Object Storage Service returns 400 invalid content-length
value, which differs from AWS which returns 400 Bad Request
.
Copying an object to another bucket that indexes the same user metadata index key but with a different datatype is not supported and fails with 500 Server Error
.d
When listing the objects in a bucket, if you use a prefix and delimiter but supply an invalid marker, cegedim.cloud Object Storage Service throws 500 Server Error
, or 400 Bad Request
for a file system-enabled bucket.
However, AWS returns 200 OK
and the objects are not listed.
For versioning enabled buckets, cegedim.cloud Object Storage Service does not create a delete marker when a deleted object is deleted again.
This is different from AWS, which always inserts delete marker for deleting deleted objects in versioning enabled buckets.
This change in behavior is only applicable when the deleted object is deleted again from owner zone.
When an attempt is made to create a bucket with a name that already exists, the behavior of cegedim.cloud Object Storage Service can differ from AWS.
AWS always returns 409 Conflict
when a user who has FULL_CONTROL permissions on the bucket, or any other permissions, attempts to recreate the bucket. When an Object User who has FULL_CONTROL
or WRITE_ACP
on the bucket attempts to recreate the bucket,
cegedim.cloud Object Storage Service returns 200 OK
and the ACL is overwritten, however, the owner is not changed. An Object User with WRITE/READ permissions will get 409 Conflict
if they attempt to recreate a bucket.
Where an attempt to recreate a bucket is made by the bucket owner, Object Storage Service returns 200 OK
and overwrites the ACL. AWS behaves in the same way.
Where a user has no access privileges on the bucket, an attempt to recreate the bucket throws a 409 Conflict
error. AWS behaves in the same way.
Last updated