Supported S3 Commands
Supported functions for the Storj DCS globally distributed, multi-region cloud-hosted S3-compatible gateway.
The Storj DCS S3-compatible Gateway supports a RESTful API that is compatible with the basic data access model of the Amazon S3 API. The Storj DCS S3 Gateway is well suited for many application architectures, but since the S3 standard was designed for centralized storage, there are a few areas where a decentralized architecture requires a different approach:
API Features | Status (support/not supported) | Remarks |
List Buckets | Supported | |
ListObjects | Supported | Object listing does not return a traditionally sorted list because keys are stored encrypted. However, the list order is deterministic. Object key encryption can be disabled to achieve compatibility if required: Lexicographically Sorted Object Listings |
ListObjectsV2 | Supported | Object listing does not return a traditionally sorted list because keys are stored encrypted. However, the list order is deterministic. Object key encryption can be disabled to achieve compatibility if required: Lexicographically Sorted Object Listings |
Delete Bucket | Supported | |
Create Bucket | Supported | Note: Bucket names must follow the naming convention for the S3 standard. The S3 standard also requires a region be specified, but we ignore this attribute as data is globally distributed as opposed to stored in a single, regional data center. |
Bucket Lifecycle | Not Supported | We support a per-object lifecycle throughout. Configuring an object's "time-to-live" is done at upload time. |
Policy (Buckets, Objects) | Not Supported | |
Bucket Website | Not Supported | Bucket Website is not supported, but it is easy to . |
Bucket ACLs (Get, Put) | Not Supported | This part of the API is not supported, but granular access controls may be encoded into your S3 credentials generated in the Satellite Admin Console at the bucket, path prefix, action permission (read, write, list, delete, and date/time) |
Bucket Location | Not Supported | Error handling related to this function is addressed in a basic implementation. |
Bucket Notification | Not Supported | |
Bucket Object Versions | Not Supported | |
Get Bucket Info (HEAD) | Supported | |
Bucket Request Payment | Not Supported | We do not have requester pays functionality |
Put Object | Supported | |
Delete Object | Supported | |
Get Object | Supported | |
Object ACLs (Get, Put) | Not Supported | Supported through restricted access grant only, configuration needed on the gateway |
Get Object Info (HEAD) | Supported | Content |
Copy Object | Supported | |
Object Tagging | Not Supported | |
Multipart Uploads | Supported | |
Create Multipart Upload | Supported | |
Upload Part | Supported | |
Upload Part (Copy) | Not Supported | |
Complete Multipart Upload | Supported | |
Abort Multipart Upload | Supported | |
List Parts | Supported | |
List Multipart Uploads | Supported | |
Since all data is encrypted, it's important to be deliberate about When to use different encryption keys.

