From c8f852bcb83b20b834b741621b247320aca80e9b Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Tue, 8 Nov 2016 10:39:09 -0800 Subject: [PATCH] Created Using S3Proxy in Java projects (markdown) --- Using-S3Proxy-in-Java-projects.md | 62 +++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 Using-S3Proxy-in-Java-projects.md diff --git a/Using-S3Proxy-in-Java-projects.md b/Using-S3Proxy-in-Java-projects.md new file mode 100644 index 0000000..a910f98 --- /dev/null +++ b/Using-S3Proxy-in-Java-projects.md @@ -0,0 +1,62 @@ +# Maven artifacts + +Java projects can include the latest S3Proxy release via Maven artifacts: + +```xml + + org.gaul + s3proxy + 1.4.0 + +``` + +Sonatype also provides pre-release snapshots: + +```xml + + + apache-snapshots + https://repository.apache.org/content/repositories/snapshots + + true + + + + sonatype-snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + + true + + + +``` + +# Usage + +Instantiate S3Proxy by creating a backend `BlobStore` object and a frontend `S3Proxy` object. An example configuring the filesystem backend and listening on port 8080: + +```java +Properties properties = new Properties(); +properties.setProperty("jclouds.filesystem.basedir", "/tmp/blobstore"); + +BlobStoreContext context = ContextBuilder + .newBuilder("filesystem") + .credentials("identity", "credential") + .overrides(properties) + .build(BlobStoreContext.class); + +S3Proxy s3Proxy = S3Proxy.builder() + .blobStore(context.getBlobStore()) + .endpoint(URI.create("http://127.0.0.1:8080")) + .build(); + +s3Proxy.start(); +while (!info.s3Proxy.getState().equals(AbstractLifeCycle.STARTED)) { + Thread.sleep(1); +} +``` + +The S3Proxy Main class and unit tests demonstrate more complicated configurations: + +* https://github.com/andrewgaul/s3proxy/blob/master/src/main/java/org/gaul/s3proxy/Main.java +* https://github.com/andrewgaul/s3proxy/blob/master/src/test/java/org/gaul/s3proxy/S3AwsSdkTest.java \ No newline at end of file