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.
|GET Service (lists all buckets for authenticated user)||✓|
|Policy (Buckets, Objects)||✓||Supports the “*” principal type and the “Secure Transport” and “IP address” conditions.|
|Bucket ACLs (GET, PUT)||✓|
|Bucket Object Versions||✗|
|GET Bucket Info (HEAD)||✓|
|Bucket Request Payment||✗|
|PUT Object (Copy)||✓|
|DELETE Multiple Objects||✓|
|Object ACLs (GET, PUT)||✓|
- GET Service — Returns a list of all buckets owned by the user who sent the request
- GET Bucket — Returns a list of the objects within a bucket
- GET Bucket ACL — Returns the access control list (ACL) associated with a bucket
- GET Bucket policy — Gets the policy of a bucket
- PUT Bucket — Creates a new bucket
- PUT Bucket ACL — Sets the ACL permissions for a bucket
- PUT Bucket policy — Sets the policy for a bucket
- DELETE Bucket — Deletes a bucket
- DELETE Bucket policy — Deletes the policy of a bucket
- GET Object — Retrieves an object
- GET Object ACL — Returns the ACLs associated with an object
- PUT Object — Stores an object to a bucket
- PUT Object (Copy) — Creates a copy of an object
- PUT Object ACL — Sets the ACLs associated with an object
- HEAD Object — Retrieves object metadata (not the full content of the object)
- DELETE Object — Deletes an object
- DELETE Multiple Objects — Deletes multiple objects
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
- Initiate Multipart Upload — Initiates a multipart upload and returns an upload ID
- Upload Part — Uploads a part in a multipart upload
- Complete Multipart Upload — Completes a multipart upload and assembles previously uploaded parts
- Abort Multipart Upload — Aborts a multipart upload and eventually frees storage consumed by previously uploaded parts.
- List Parts — Lists the parts that have been uploaded for a specific multipart upload.
- List Multipart Uploads — Lists multipart uploads that have not yet been completed or aborted.