Add more features and limitations to README

Also use more accurate links for upstream issues.
pull/16/head
Andrew Gaul 2014-08-12 01:30:17 -07:00
rodzic 0b18a976f3
commit 4df7c65bd9
1 zmienionych plików z 37 dodań i 32 usunięć

Wyświetl plik

@ -1,16 +1,16 @@
S3Proxy
=======
S3Proxy allows applications using the S3 API to interface with a variety of
object stores, e.g., EMC Atmos, Microsoft Azure, OpenStack Swift. It runs a
local HTTP server which translates S3 operations into provider-specific
operations. S3Proxy also allows developers to test against S3 without the cost
or latency associated with using AWS by using the local file system.
object stores, e.g., EMC Atmos, Microsoft Azure, OpenStack Swift. It also
allows local testing against S3 without the cost or latency associated with
using AWS.
Features
--------
* create, remove, and list buckets (including user-specified regions)
* put, get, delete, and list objects
* store and retrieve object metadata, including user metadata
* authorization via AWS signature v2 (including pre-signed URLs) or anonymous access
Supported object stores:
@ -26,44 +26,48 @@ Supported object stores:
Installation
------------
Users can
[download releases](https://github.com/andrewgaul/s3proxy/releases) from GitHub
and should `chmod +x s3proxy` afterwards.
One can also build the project by running `mvn package` which produces a binary
at `target/s3proxy`.
S3Proxy requires Java 7 to run.
Users can [download releases](https://github.com/andrewgaul/s3proxy/releases)
from GitHub. One can also build the project by running `mvn package` which
produces a binary at `target/s3proxy`. S3Proxy requires Java 7 to run.
Examples
--------
Linux and Mac OS users can run S3Proxy either via the executable jar or by
explicitly invoking java:
Linux and Mac OS users can run S3Proxy via the executable jar:
```
chmod +x s3proxy
s3proxy --properties s3proxy.conf
```
Windows users must explicitly invoke java:
```
java -jar s3proxy --properties s3proxy.conf
```
Windows users must explicitly invoke java.
Configuration
-------------
Users can configure S3Proxy via a properties file. An example:
Users can configure S3Proxy via a properties file. An example using Rackspace
CloudFiles (based on OpenStack Swift) as the backing store:
```
jclouds.provider=transient
s3proxy.endpoint=http://127.0.0.1:8080
s3proxy.authorization=aws-v2
s3proxy.identity=local-identity
s3proxy.credential=local-credential
jclouds.provider=cloudfiles-us
jclouds.identity=remote-identity
jclouds.credential=remote-credential
```
Another example using the local file system as the backing store with anonymous
access:
```
s3proxy.authorization=none
s3proxy.endpoint=http://127.0.0.1:8080
jclouds.provider=filesystem
jclouds.identity=identity
jclouds.credential=credential
# endpoint is optional for some providers
#jclouds.endpoint=http://127.0.0.1:8081
jclouds.filesystem.basedir=/tmp/blobstore
s3proxy.endpoint=http://127.0.0.1:8080
# authorization must be aws-v2 or none
s3proxy.authorization=aws-v2
s3proxy.identity=identity
s3proxy.credential=credential
jclouds.filesystem.basedir=/tmp
```
Users can also set a variety of Java and
@ -73,11 +77,12 @@ Limitations
-----------
S3Proxy does not support:
* single-part uploads larger than 2 GB ([upstream issue](https://github.com/jclouds/jclouds/pull/426))
* single-part uploads larger than 2 GB ([jclouds issue](https://issues.apache.org/jira/browse/JCLOUDS-264))
* multi-part uploads
* POST uploads
* bucket and object ACLs
* object metadata with filesystem provider ([upstream issue](https://github.com/jclouds/jclouds/pull/443))
* bucket and object ACLs ([jclouds issue](https://issues.apache.org/jira/browse/JCLOUDS-660))
* object metadata with filesystem provider ([jclouds issue](https://issues.apache.org/jira/browse/JCLOUDS-658))
* object versioning
* listening on HTTPS
References