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