Amazon S3 Feature Compatibility
The following table describes the support status for current Amazon S3 functional features:
| Feature | Support | Notes | 
|---|---|---|
| List Buckets | Supported | |
| Delete Bucket | Supported | |
| Create Bucket | Supported | |
| Get Bucket Info (HEAD) | Supported | |
| Bucket Tagging | Supported | |
| Bucket Location | Supported* | * currently only one location: sto-1 | 
| Bucket Lifecycle | - | |
| Bucket Replication | - | |
| Policy (Buckets, Objects) | - | |
| Bucket Website | - | |
| Bucket ACLs (Get, Put) | - | |
| Bucket Notification | - | |
| Bucket Object Versions | Supported | |
| Bucket Ownership | - | |
| Bucket Metrics | - | |
| Bucket Logging | - | |
| Bucket Encryption | Supported* | *SSE-C supported. SSE-S3 & SSE-KMS not supported. Note that encryption at rest is always supported. | 
| Bucket Analytics | - | |
| Bucket Request Payment | - | |
| Bucket CORS | - | |
| Put Object | Supported | |
| Delete Object | Supported | |
| Get Object | Supported | |
| Get Object Info (HEAD) | Supported | |
| POST Object | Supported | |
| Copy Object | Supported | |
| Multipart Uploads | Supported | |
| Object Locking | Supported | |
| Object Tagging | Supported | |
| Presigned URLs | Supported | |
| Object ACLs (Get, Put) | - | |
| Storage Classes | Supported* | *Currently only one storage class | 
S3 API Compatibility
Of the supported S3 features, not all of these features are supported via the S3 API depending on the credentials that are used in the request.
There are two main types of credentials that you can retrieve for evroc which you can use to authenticate with the S3 API: service account credentials, and human user credentials.
Service account credentials are static and long-lived, whereas human user credentials are dynamic and short-lived.
While some operations are not supported for human users via the s3 API directly,
these operation are supported using the evroc-cli.
S3 API Supported Actions
The following table describes which of the supported features are accessible via the S3 API and which are not.
| API Action | Supported | 
|---|---|
| AbortMultipartUpload | ✅ Yes | 
| CompleteMultipartUpload | ✅ Yes | 
| CopyObject | ✅ Yes | 
| CreateBucket | ✅ Yes | 
| CreateMultipartUpload | ✅ Yes | 
| DeleteBucket | ✅ Yes | 
| DeleteBucketTagging | ✅ Yes | 
| DeleteObject | ✅ Yes | 
| DeleteObjects | ✅ Yes | 
| DeleteObjectTagging | ✅ Yes | 
| GetBucketLocation | ✅ Yes | 
| GetBucketTagging | ✅ Yes | 
| GetBucketVersioning | ✅ Yes | 
| GetObject | ✅ Yes | 
| GetObjectLegalHold | ✅ Yes | 
| GetObjectLockConfiguration | ✅ Yes | 
| GetObjectRetention | ✅ Yes | 
| GetObjectTagging | ✅ Yes | 
| HeadBucket | ✅ Yes | 
| HeadObject | ✅ Yes | 
| ListBuckets | ✅ Yes | 
| ListMultipartUploads | ✅ Yes | 
| ListObjects | ✅ Yes | 
| ListObjectsV2 | ✅ Yes | 
| ListObjectVersions | ✅ Yes | 
| ListParts | ✅ Yes | 
| PutBucketTagging | ✅ Yes | 
| PutBucketVersioning | ✅ Yes | 
| PutObject | ✅ Yes | 
| PutObjectLegalHold | ✅ Yes | 
| PutObjectLockConfiguration | ✅ Yes | 
| PutObjectRetention | ✅ Yes | 
| PutObjectTagging | ✅ Yes | 
| UploadPart | ✅ Yes | 
| CreateBucketMetadataTableConfiguration | ❌ No | 
| CreateSession | ❌ No | 
| DeleteBucketAnalyticsConfiguration | ❌ No | 
| DeleteBucketCors | ❌ No | 
| DeleteBucketEncryption | ❌ No | 
| DeleteBucketIntelligentTieringConfiguration | ❌ No | 
| DeleteBucketInventoryConfiguration | ❌ No | 
| DeleteBucketLifecycle | ❌ No | 
| DeleteBucketMetadataTableConfiguration | ❌ No | 
| DeleteBucketMetricsConfiguration | ❌ No | 
| DeleteBucketOwnershipControls | ❌ No | 
| DeleteBucketPolicy | ❌ No | 
| DeleteBucketReplication | ❌ No | 
| DeleteBucketWebsite | ❌ No | 
| DeletePublicAccessBlock | ❌ No | 
| GetBucketAccelerateConfiguration | ❌ No | 
| GetBucketAcl | ❌ No | 
| GetBucketAnalyticsConfiguration | ❌ No | 
| GetBucketCors | ❌ No | 
| GetBucketEncryption | ❌ No | 
| GetBucketIntelligentTieringConfiguration | ❌ No | 
| GetBucketInventoryConfiguration | ❌ No | 
| GetBucketLifecycle | ❌ No | 
| GetBucketLifecycleConfiguration | ❌ No | 
| GetBucketMetadataTableConfiguration | ❌ No | 
| GetBucketMetricsConfiguration | ❌ No | 
| GetBucketNotification | ❌ No | 
| GetBucketNotificationConfiguration | ❌ No | 
| GetBucketOwnershipControls | ❌ No | 
| GetBucketPolicy | ❌ No | 
| GetBucketPolicyStatus | ❌ No | 
| GetBucketReplication | ❌ No | 
| GetBucketRequestPayment | ❌ No | 
| GetBucketTagging | ❌ No | 
| GetBucketWebsite | ❌ No | 
| GetObjectAcl | ❌ No | 
| GetObjectAttributes | ❌ No | 
| GetObjectTorrent | ❌ No | 
| GetPublicAccessBlock | ❌ No | 
| ListBucketAnalyticsConfigurations | ❌ No | 
| ListBucketIntelligentTieringConfigurations | ❌ No | 
| ListBucketInventoryConfigurations | ❌ No | 
| ListBucketMetricsConfigurations | ❌ No | 
| ListDirectoryBuckets | ❌ No | 
| PutBucketAccelerateConfiguration | ❌ No | 
| PutBucketAcl | ❌ No | 
| PutBucketAnalyticsConfiguration | ❌ No | 
| PutBucketCors | ❌ No | 
| PutBucketEncryption | ❌ No | 
| PutBucketIntelligentTieringConfiguration | ❌ No | 
| PutBucketInventoryConfiguration | ❌ No | 
| PutBucketLifecycle | ❌ No | 
| PutBucketLifecycleConfiguration | ❌ No | 
| PutBucketLogging | ❌ No | 
| PutBucketMetricsConfiguration | ❌ No | 
| PutBucketNotification | ❌ No | 
| PutBucketNotificationConfiguration | ❌ No | 
| PutBucketOwnershipControls | ❌ No | 
| PutBucketPolicy | ❌ No | 
| PutBucketReplication | ❌ No | 
| PutBucketRequestPayment | ❌ No | 
| PutBucketWebsite | ❌ No | 
| PutObjectAcl | ❌ No | 
| PutPublicAccessBlock | ❌ No | 
| RestoreObject | ❌ No | 
| SelectObjectContent | ❌ No | 
| UploadPartCopy | ❌ No | 
| WriteGetObjectResponse | ❌ No |