S3 API compatibility
Supported S3 APIs
Methods | Notes |
---|---|
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
Methods | Notes |
---|---|
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