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:
- Bucket policy supports only one
Principal
per Statement
.
Principal must be "AWS": "*"
(to refer all users) or "CanonicalUser": "0313b1ac3a8076e155a7e797b24f0b650cccad5941ea59d7cfd51a024a8b2a06bf"
(hex encoded public key of desired user).
- Resource in bucket policy is an array. Each item MUST contain bucket name, CAN contain object name (wildcards are not supported):
{
"Statement": [
{
"Resource": [
"arn:aws:s3:::bucket",
"arn:aws:s3:::bucket/some/object"
]
}
]
}
- AWS conditions and wildcard are not supported in resources
- Only
CanonicalUser
(with hex encoded public key) and All Users Group
are supported in ACL
|
Method |
Comments |
š” |
GetObjectAcl |
See Limitations |
š” |
PutObjectAcl |
See Limitations |
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 |
GetBucketObjectLockConfig |
š” |
GetObjectRetention |
|
š” |
PutObjectLegalHold |
|
š¢ |
PutObjectLockConfiguration |
PutBucketObjectLockConfig |
š” |
PutObjectRetention |
|
Multipart
Should be supported soon.
|
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 |
See ACL limitations |
š” |
PutBucketAcl |
See ACL Limitations |
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 |
See ACL limitations |
šµ |
GetBucketPolicyStatus |
|
šµ |
GetBucketReplication |
|
š¢ |
PostPolicyBucket |
Upload file using POST form |
š” |
PutBucketPolicy |
See ACL limitations |
šµ |
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 |
|