Jump to: navigation, search

Difference between revisions of "Swift/APIFeatureComparison"

m (Text replace - "__NOTOC__" to "")
(Replaced content with "replace with a link to the output of https://review.openstack.org/#/c/504281/")
 
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
+
replace with a link to the output of https://review.openstack.org/#/c/504281/
= S3/Swift REST API Comparison Matrix =
 
This page attempts to enumerate how [[OpenStack]], Eucalyptus and [[CloudStack]] compare in regards to AWS S3 REST API support.  Corrections/contributions welcome.
 
 
 
(./) == Known to be supported
 
 
 
<span style="font-size: large; color: white; background: red">X</span> == Known not to be supported
 
 
 
/!\ == Support status not yet determined
 
 
 
== 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.
 
 
 
== General S3 REST API Support ==
 
{| border="1" cellpadding="2" cellspacing="0"
 
| Feature
 
| Eucalyptus
 
| [[OpenStack]]
 
|-
 
| List Bucket Objects
 
|  (./)
 
|  (./)
 
|-
 
| Bucket ACLs
 
|  (./)
 
|  (./)
 
|-
 
| Bucket Lifecycle
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| Bucket Policy
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| Bucket Location
 
|  /!\
 
|  /!\
 
|-
 
| Bucket Logging
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| Bucket Notification
 
/!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| Bucket Object Versions
 
|  /!\
 
|  (./)
 
|-
 
| Bucket Request Payment
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| Bucket Versioning
 
|<span style="font-size: large; color: white; background: red">|X</span> 1
 
|  /!\
 
|-
 
| Bucket Website
 
|  /!\
 
|  (./)
 
|}
 
 
 
 
 
<pre><nowiki>
 
</nowiki></pre>
 
 
 
# https://bugs.launchpad.net/eucalyptus/+bug/751309
 
 
 
 
 
<pre><nowiki>
 
</nowiki></pre>
 
 
 
== Amazon S3 REST API Compatability ==
 
Amazon S3 Bucket operations are referenced [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketOps.html here]
 
{| border="1" cellpadding="2" cellspacing="0"
 
| S3 REST API method
 
| Eucalyptus
 
| [[OpenStack]]
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETE.html DELETE Bucket]
 
|  /!\
 
| 2006-03-01*
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html DELETE Bucket lifecycle]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html DELETE Bucket policy]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html DELETE Bucket website]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html GET Bucket (List Objects)]
 
|  /!\
 
| 2006-03-01*
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETacl.html GET Bucket acl]
 
|  /!\
 
| 2006-03-01*
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlifecycle.html GET Bucket lifecycle]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETpolicy.html GET Bucket policy]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlocation.html GET Bucket location]
 
|  /!\
 
|  /!\
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlogging.html GET Bucket logging]
 
|  /!\
 
|  /!\
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETnotification.html GET Bucket notification]
 
|  /!\
 
|  /!\
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETVersion.html GET Bucket Object versions]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentGET.html GET Bucket requestPayment]
 
|  /!\
 
|  /!\
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETversioningStatus.html GET Bucket versioning]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETwebsite.html GET Bucket website]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketHEAD.html HEAD Bucket]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListMPUpload.html List Multipart Uploads]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html PUT Bucket]
 
|  /!\
 
| 2006-03-01*
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTacl.html PUT Bucket acl]
 
|  /!\
 
|  /!\
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html PUT Bucket lifecycle]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTpolicy.html PUT Bucket policy]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlogging.html PUT Bucket logging]
 
|  /!\
 
|  /!\
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTnotification.html PUT Bucket notification]
 
|  /!\
 
|  /!\
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentPUT.html PUT Bucket requestPayment]
 
|  /!\
 
|  /!\
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html PUT Bucket versioning]
 
/!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html PUT Bucket website]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|}
 
 
 
* This version of Amazon API supports access to buckets using a subdomain (i.e. bucket.s3.amazonaws.com), whereas [[OpenStack]] Swift3 relies on a sub-directory (eg swift.domain/bucket), which renders some tools hardcoded to use "new style" buckets unable to contact Swift in the right way, despite its ability to support correct responses.
 
 
 
Amazon S3 Object operations are referenced [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketOps.html here]
 
{| border="1" cellpadding="2" cellspacing="0"
 
| S3 REST API method
 
| Eucalyptus
 
| [[OpenStack]]
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectDELETE.html DELETE Object]
 
|  /!\
 
| 2006-03-01*
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/multiobjectdeleteapi.html Delete Multiple Objects]
 
|  /!\
 
|  /!\
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGET.html GET Object]
 
|  /!\
 
| 2006-03-01*
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETacl.html GET Object ACL]
 
|  /!\
 
| 2006-03-01*
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETtorrent.html GET Object torrent]
 
|  /!\
 
|  /!\
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectHEAD.html HEAD Object]
 
|  /!\
 
| 2006-03-01*
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPOST.html POST Object]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUT.html PUT Object]
 
|  /!\
 
| 2006-03-01*
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUTacl.html PUT Object acl]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectCOPY.html PUT Object - Copy]
 
|  /!\
 
| 2006-03-01*
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadInitiate.html Initiate Multipart Upload]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPart.html Upload Part]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html Upload Part - Copy]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadComplete.html Complete Multipart Upload]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadAbort.html Abort Multipart Upload]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|-
 
| [http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListParts.html List Parts]
 
|  /!\
 
|<span style="font-size: large; color: white; background: red">|X</span>
 
|}
 
 
 
* This version of Amazon API supports access to buckets using a subdomain (i.e. bucket.s3.amazonaws.com), whereas [[OpenStack]]  Swift3 relies on a sub-directory (eg swift.domain/bucket), which  renders some tools hardcoded to use "new style" buckets unable to  contact Swift in the right way, despite its ability to support correct  responses.
 
 
 
[[Category:Swift]]
 

Latest revision as of 23:10, 14 September 2017

replace with a link to the output of https://review.openstack.org/#/c/504281/