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.

ListObjectsV2

Supported

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 host a static website using the Storj DCS Gateway

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

Not 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 whether and when to use multiple encryption keys.