Riak CS S3 Storage API

The Riak CS storage API is compatible with the Amazon S3 REST API, which means that any of the operations listed below can be executed against Riak CS using any of the commonly available S3 libraries and tools.

API Feature Comparison

The following table describes the support status for current Amazon S3 functional features.

Feature Status Remark
GET Service (lists all buckets for authenticated user)
DELETE Bucket
PUT Bucket
Bucket Lifecycle
Policy (Buckets, Objects) {{1.3.0+}} Supports the “*” principal type and the “Secure Transport” and “IP address” conditions.
Policy (Buckets, Objects) {{1.3.0-}} Coming Soon Planned for future release
Bucket Website
Bucket ACLs (GET, PUT)
Bucket Location
Bucket Notification
Bucket Object Versions
GET Bucket Info (HEAD)
Bucket Request Payment
PUT Object
PUT Object (Copy) {{1.5.0+}}
PUT Object (Copy) {{1.3.0-1.4.5}} Support is limited to a 0 byte copy from an object to itself for the purpose of updating metadata.
PUT Object (Copy) {{1.3.0-}} Coming Soon Planned for future release
DELETE Object
DELETE Multiple Objects
GET Object {{1.3.0+}}
GET Object {{1.3.0-}} Range query unimplemented
Object ACLs (GET, PUT)
HEAD Object
POST Object
Copy Object
Multipart Uploads {{1.5.0+}}
Multipart Uploads {{1.3.0-1.4.5}} UploadPartCopy unimplemented
Multipart Uploads {{1.3.0-}} Coming Soon Planned for future release
Multipart Uploads {{1.5.0+}}

Service-level Operations

  • GET Service — Returns a list of all buckets owned by the user who sent the request

Bucket-level Operations

Object-level Operations

Multipart Upload

Multipart upload allows you to upload a single object as a set of parts. Object parts can be uploaded independently and in any order. After all parts are uploaded, Riak CS assembles an object out of the parts. When your object size reaches 100MB, you should consider using multipart uploads instead of uploading the object in a single operation. Read more about multipart uploads on the overview page.

Common Headers