basho-labs/riakcs-java-client


Java client for RiakCS and Amazon S3

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.basho-labs:riakcs-java-client:Initial-release'
	}
	dependencies {
		implementation("com.github.basho-labs:riakcs-java-client:Initial-release")
	}
	<dependency>
	    <groupId>com.github.basho-labs</groupId>
	    <artifactId>riakcs-java-client</artifactId>
	    <version>Initial-release</version>
	</dependency>

                            
    libraryDependencies += "com.github.basho-labs" % "riakcs-java-client" % "Initial-release"
        
        

                            
    :dependencies [[com.github.basho-labs/riakcs-java-client "Initial-release"]]
        
        

Readme


Riak CS Java Client

Lightweight Java library for Amazon S3 and Riak CS. No external dependencies.

Based on code from the book: "Programming Amazon Web Services" http://shop.oreilly.com/product/9780596515812.do

Example code can be found in: examples.com.basho.riakcs.client

User Management (Riak CS only)

JSONObject createUser(String fullname, String emailAddress)
void       enableUser(String key_id)
void       disableUSer(String key_id)

JSONObject listUsers()
JSONObject listEnabledUsers()
JSONObject listDisabledUsers()

JSONObject getUserInfo(String key_id)
JSONObject getMyUserInfo()

Bucket APIs

void       createBucket(String bucketName)
JSONObject listBuckets()
boolean    isBucketAccessible(String bucketName)
JSONObject getACLForBucket(String bucketName)
void       deleteBucket(String bucketName)

Object APIs

void       createObject(String bucketName, String objectKey, InputStream dataInputStream, Map<String, String> headers, Map<String, String> metadata)
JSONObject listObjects(String bucketName)
JSONObject listObjectNames(String bucketName)
JSONObject getObject(String bucketName, String objectKey)
JSONObject getObject(String bucketName, String objectKey, OutputStream dataOutputStream)
JSONObject getObjectInfo(String bucketName, String objectKey)
JSONObject getACLForObject(String bucketName, String objectKey)
void       deleteObject(String bucketName, String objectKey)

ACL APIs: "Canned" ACLs for buckets and objects

PERM_PRIVATE, PERM__READ, PERM__READ_WRITE, PERM_AUTHENTICATED_READ

void setCannedACLForBucket(String bucketName, String cannedACL)
void setCannedACLForObject(String bucketName, String objectKey, String cannedACL)

ACL APIs: "Regular" ACLs for buckets and objects

READ, WRITE, READ_ACP, WRITE_ACP, FULL_CONTROL

void addAdditionalACLToBucket(String bucketName, String emailAddress, Permission permission)
void addAdditionalACLToObject(String bucketName, String objectKey, String emailAddress, Permission permission)

Statistic APIs (Riak CS only)

JSONObject getAccessStatistic(String keyForUser, int howManyHrsBack)
JSONObject getStorageStatistic(String keyForUser, int howManyHrsBack)

Tool APIs

void removeBucketAndContent(String bucketName)
void uploadContentOfDirectory(File fromDirectory, String toBucket)
void copyBucketBetweenSystems(RiakCSClient fromSystem, String fromBucket, RiakCSClient toSystem, String toBucket)