Skip to content

Instantly share code, notes, and snippets.

@notmyname
Last active September 14, 2017 22:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save notmyname/0f3439c7f6a18d3591854517c9a8bf7d to your computer and use it in GitHub Desktop.
Save notmyname/0f3439c7f6a18d3591854517c9a8bf7d to your computer and use it in GitHub Desktop.

S3/Swift REST API Comparison Matrix

General compatibility statement

S3 is a product from Amazon, and as such, it includes "features" that are outside the scope of Swift itself. For example, Swift doesn't have anything to do with billing, whereas S3 buckets can be tied to Amazon's billing system. Similarly, log delivery is a service outside of Swift. It's entirely possible for a Swift deployed to provide that functionality, but it is not part of Swift itself. Likewise, a Swift deployment can provide similar geographic availability as S3, but this is tied to the deployer's willingness to build the infrastructure and support systems to do so.

S3 REST API method Category Swift
DELETE Bucket Core-API Yes
DELETE Bucket lifecycle Advanced Feature No
DELETE Bucket policy Advanced Feature No
DELETE Bucket website Advanced Feature No
GET Bucket (List Objects) Core-API Yes
GET Bucket acl ACLs Yes
GET Bucket lifecycle Advanced Feature No
GET Bucket policy Advanced Feature No
GET Bucket location Advanced Feature Yes
GET Bucket logging Advanced Feature No
GET Bucket notification Advanced Feature No
GET Bucket Object versions Versioning No
GET Bucket requestPayment Advanced Feature No
GET Bucket versioning Versioning No
GET Bucket website Public Website No
HEAD Bucket Core-API Yes
List Multipart Uploads Core-API Yes
PUT Bucket Core-API Yes
PUT Bucket acl ACLs Yes
PUT Bucket lifecycle Advanced Feature No
PUT Bucket policy Advanced Feature No
PUT Bucket logging Advanced Feature No
PUT Bucket notification Advanced Feature No
PUT Bucket requestPayment Advanced Feature No
PUT Bucket versioning Versioning No
PUT Bucket website Public Website No
S3 REST API method Category Swift
DELETE Object Core-API Yes
Delete Multiple Objects Advanced Feature Yes
GET Object Core-API Yes
GET Object ACL ACLs Yes
GET Object torrent Advanced Feature No
HEAD Object Core-API Yes
POST Object Core-API No
PUT Object Core-API Yes
PUT Object acl ACLs Yes
PUT Object - Copy Core-API Yes
Initiate Multipart Upload Core-API Yes
Upload Part Core-API Yes
Upload Part - Copy Core-API Yes
Complete Multipart Upload Core-API Yes
Abort Multipart Upload Core-API Yes
List Parts Core-API Yes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment