frostfs-s3-gw/docs/aws_s3_compat.md

9.3 KiB

S3 API support

Reference:

Legend
šŸŸ¢ Supported
šŸŸ” Partially supported
šŸ”µ Not supported yet, but will be in future
šŸ”“ Not applicable or will never be supported

Object

Method Comments
šŸŸ¢ CopyObject Done on gateway side
šŸŸ¢ DeleteObject
šŸŸ¢ DeleteObjects aka DeleteMultipleObjects
šŸŸ¢ GetObject
šŸ”“ GetObjectTorrent We don't plan implementing BT gateway
šŸŸ¢ HeadObject
šŸŸ¢ ListParts Parts loaded with MultipartUpload
šŸŸ¢ ListObjects
šŸŸ¢ ListObjectsV2
šŸŸ¢ PutObject Content-MD5 header deprecated
šŸ”µ SelectObjectContent Need to have some Lambda to execute SQL
šŸ”µ WriteGetObjectResponse Waiting for Lambda to be developed
šŸŸ¢ GetObjectAttributes

ACL

For now there are some limitations:

Method Comments
šŸŸ¢ GetObjectAcl Objects can have only private acl
šŸ”“ PutObjectAcl Use PutBucketPolicy instead

Locking

For now there are some limitations:

  • Retention period can't be shortened, only extended.
  • You can't delete locks or object with unexpired lock.
Method Comments
šŸŸ” GetObjectLegalHold
šŸŸ¢ GetObjectLockConfiguration aka GetBucketObjectLockConfig
šŸŸ” GetObjectRetention
šŸŸ” PutObjectLegalHold
šŸŸ¢ PutObjectLockConfiguration aka PutBucketObjectLockConfig
šŸŸ” PutObjectRetention

Multipart

CompleteMultipartUpload operations may take long time to complete. Gateway sends whitespace characters to keep connection with the client alive. In this case, gateway is unable to set proper HTTP headers like X-Amz-Version-Id.

Method Comments
šŸŸ¢ AbortMultipartUpload
šŸŸ¢ CompleteMultipartUpload
šŸŸ¢ CreateMultipartUpload
šŸŸ¢ ListMultipartUploads
šŸŸ¢ ListParts
šŸŸ¢ UploadPart
šŸŸ¢ UploadPartCopy

Tagging

Method Comments
šŸŸ¢ DeleteObjectTagging
šŸŸ¢ GetObjectTagging
šŸŸ¢ PutObjectTagging

Versioning

See also GetObject and other method parameters.

Method Comments
šŸŸ¢ ListObjectVersions ListBucketObjectVersions
šŸ”µ RestoreObject

Bucket

Method Comments
šŸŸ¢ CreateBucket PutBucket
šŸŸ¢ DeleteBucket
šŸŸ¢ GetBucketLocation
šŸŸ¢ HeadBucket
šŸŸ¢ ListBuckets
šŸ”µ PutPublicAccessBlock

Acceleration

Method Comments
šŸ”“ GetBucketAccelerateConfiguration GetBucketAccelerate
šŸ”“ PutBucketAccelerateConfiguration

ACL

Method Comments
šŸŸ” GetBucketAcl Only canned acl is supported
šŸŸ” PutBucketAcl Only canned acl is supported

Analytics

Method Comments
šŸ”µ DeleteBucketAnalyticsConfiguration
šŸ”µ GetBucketAnalyticsConfiguration
šŸ”µ ListBucketAnalyticsConfigurations
šŸ”µ PutBucketAnalyticsConfiguration

CORS

Method Comments
šŸŸ¢ DeleteBucketCors
šŸŸ¢ GetBucketCors
šŸŸ¢ PutBucketCors

Encryption

Method Comments
šŸ”µ DeleteBucketEncryption
šŸ”µ GetBucketEncryption
šŸ”µ PutBucketEncryption

Inventory

Method Comments
šŸ”µ DeleteBucketInventoryConfiguration
šŸ”µ GetBucketInventoryConfiguration
šŸ”µ ListBucketInventoryConfigurations
šŸ”µ PutBucketInventoryConfiguration

Lifecycle

Method Comments
šŸ”µ DeleteBucketLifecycle
šŸ”µ GetBucketLifecycle
šŸ”µ GetBucketLifecycleConfiguration
šŸ”µ PutBucketLifecycle
šŸ”µ PutBucketLifecycleConfiguration

Logging

Method Comments
šŸ”µ GetBucketLogging
šŸ”µ PutBucketLogging

Metrics

Method Comments
šŸ”µ DeleteBucketMetricsConfiguration
šŸ”µ GetBucketMetricsConfiguration
šŸ”µ ListBucketMetricsConfigurations
šŸ”µ PutBucketMetricsConfiguration

Notifications

Method Comments
šŸ”µ GetBucketNotification
šŸ”µ GetBucketNotificationConfiguration
šŸ”µ ListenBucketNotification non-standard?
šŸ”µ PutBucketNotification
šŸ”µ PutBucketNotificationConfiguration

Ownership controls

Method Comments
šŸ”µ DeleteBucketOwnershipControls
šŸ”µ GetBucketOwnershipControls
šŸ”µ PutBucketOwnershipControls

Policy and replication

Method Comments
šŸŸ¢ DeleteBucketPolicy
šŸ”µ DeleteBucketReplication
šŸ”µ DeletePublicAccessBlock
šŸŸ¢ GetBucketPolicy
šŸ”µ GetBucketPolicyStatus
šŸ”µ GetBucketReplication
šŸŸ¢ PostPolicyBucket Upload file using POST form
šŸŸ” PutBucketPolicy Conditions are not supported
šŸ”µ PutBucketReplication

Request payment

Method Comments
šŸ”“ GetBucketRequestPayment
šŸ”“ PutBucketRequestPayment

Tagging

Method Comments
šŸŸ¢ DeleteBucketTagging
šŸŸ¢ GetBucketTagging
šŸŸ¢ PutBucketTagging

Tiering

Method Comments
šŸ”µ DeleteBucketIntelligentTieringConfiguration
šŸ”µ GetBucketIntelligentTieringConfiguration
šŸ”µ ListBucketIntelligentTieringConfigurations
šŸ”µ PutBucketIntelligentTieringConfiguration

Versioning

Method Comments
šŸŸ¢ GetBucketVersioning
šŸŸ¢ PutBucketVersioning

Website

Method Comments
šŸ”µ DeleteBucketWebsite
šŸ”µ GetBucketWebsite
šŸ”µ PutBucketWebsite