X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fdoc%2Fradosgw%2Fs3%2Fjava.rst;fp=src%2Fceph%2Fdoc%2Fradosgw%2Fs3%2Fjava.rst;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=057c09c2cc2ac20dc9c2b1b62d7eb33e4e33a607;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/doc/radosgw/s3/java.rst b/src/ceph/doc/radosgw/s3/java.rst deleted file mode 100644 index 057c09c..0000000 --- a/src/ceph/doc/radosgw/s3/java.rst +++ /dev/null @@ -1,212 +0,0 @@ -.. _java: - -Java S3 Examples -================ - -Setup ------ - -The following examples may require some or all of the following java -classes to be imported: - -.. code-block:: java - - import java.io.ByteArrayInputStream; - import java.io.File; - import java.util.List; - import com.amazonaws.auth.AWSCredentials; - import com.amazonaws.auth.BasicAWSCredentials; - import com.amazonaws.util.StringUtils; - import com.amazonaws.services.s3.AmazonS3; - import com.amazonaws.services.s3.AmazonS3Client; - import com.amazonaws.services.s3.model.Bucket; - import com.amazonaws.services.s3.model.CannedAccessControlList; - import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest; - import com.amazonaws.services.s3.model.GetObjectRequest; - import com.amazonaws.services.s3.model.ObjectListing; - import com.amazonaws.services.s3.model.ObjectMetadata; - import com.amazonaws.services.s3.model.S3ObjectSummary; - - -If you are just testing the Ceph Object Storage services, consider -using HTTP protocol instead of HTTPS protocol. - -First, import the ``ClientConfiguration`` and ``Protocol`` classes. - -.. code-block:: java - - import com.amazonaws.ClientConfiguration; - import com.amazonaws.Protocol; - - -Then, define the client configuration, and add the client configuration -as an argument for the S3 client. - -.. code-block:: java - - AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); - - ClientConfiguration clientConfig = new ClientConfiguration(); - clientConfig.setProtocol(Protocol.HTTP); - - AmazonS3 conn = new AmazonS3Client(credentials, clientConfig); - conn.setEndpoint("endpoint.com"); - - -Creating a Connection ---------------------- - -This creates a connection so that you can interact with the server. - -.. code-block:: java - - String accessKey = "insert your access key here!"; - String secretKey = "insert your secret key here!"; - - AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); - AmazonS3 conn = new AmazonS3Client(credentials); - conn.setEndpoint("objects.dreamhost.com"); - - -Listing Owned Buckets ---------------------- - -This gets a list of Buckets that you own. -This also prints out the bucket name and creation date of each bucket. - -.. code-block:: java - - List buckets = conn.listBuckets(); - for (Bucket bucket : buckets) { - System.out.println(bucket.getName() + "\t" + - StringUtils.fromDate(bucket.getCreationDate())); - } - -The output will look something like this:: - - mahbuckat1 2011-04-21T18:05:39.000Z - mahbuckat2 2011-04-21T18:05:48.000Z - mahbuckat3 2011-04-21T18:07:18.000Z - - -Creating a Bucket ------------------ - -This creates a new bucket called ``my-new-bucket`` - -.. code-block:: java - - Bucket bucket = conn.createBucket("my-new-bucket"); - - -Listing a Bucket's Content --------------------------- -This gets a list of objects in the bucket. -This also prints out each object's name, the file size, and last -modified date. - -.. code-block:: java - - ObjectListing objects = conn.listObjects(bucket.getName()); - do { - for (S3ObjectSummary objectSummary : objects.getObjectSummaries()) { - System.out.println(objectSummary.getKey() + "\t" + - objectSummary.getSize() + "\t" + - StringUtils.fromDate(objectSummary.getLastModified())); - } - objects = conn.listNextBatchOfObjects(objects); - } while (objects.isTruncated()); - -The output will look something like this:: - - myphoto1.jpg 251262 2011-08-08T21:35:48.000Z - myphoto2.jpg 262518 2011-08-08T21:38:01.000Z - - -Deleting a Bucket ------------------ - -.. note:: - The Bucket must be empty! Otherwise it won't work! - -.. code-block:: java - - conn.deleteBucket(bucket.getName()); - - -Forced Delete for Non-empty Buckets ------------------------------------ -.. attention:: - not available - - -Creating an Object ------------------- - -This creates a file ``hello.txt`` with the string ``"Hello World!"`` - -.. code-block:: java - - ByteArrayInputStream input = new ByteArrayInputStream("Hello World!".getBytes()); - conn.putObject(bucket.getName(), "hello.txt", input, new ObjectMetadata()); - - -Change an Object's ACL ----------------------- - -This makes the object ``hello.txt`` to be publicly readable, and -``secret_plans.txt`` to be private. - -.. code-block:: java - - conn.setObjectAcl(bucket.getName(), "hello.txt", CannedAccessControlList.PublicRead); - conn.setObjectAcl(bucket.getName(), "secret_plans.txt", CannedAccessControlList.Private); - - -Download an Object (to a file) ------------------------------- - -This downloads the object ``perl_poetry.pdf`` and saves it in -``/home/larry/documents`` - -.. code-block:: java - - conn.getObject( - new GetObjectRequest(bucket.getName(), "perl_poetry.pdf"), - new File("/home/larry/documents/perl_poetry.pdf") - ); - - -Delete an Object ----------------- - -This deletes the object ``goodbye.txt`` - -.. code-block:: java - - conn.deleteObject(bucket.getName(), "goodbye.txt"); - - -Generate Object Download URLs (signed and unsigned) ---------------------------------------------------- - -This generates an unsigned download URL for ``hello.txt``. This works -because we made ``hello.txt`` public by setting the ACL above. -This then generates a signed download URL for ``secret_plans.txt`` that -will work for 1 hour. Signed download URLs will work for the time -period even if the object is private (when the time period is up, the -URL will stop working). - -.. note:: - The java library does not have a method for generating unsigned - URLs, so the example below just generates a signed URL. - -.. code-block:: java - - GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket.getName(), "secret_plans.txt"); - System.out.println(conn.generatePresignedUrl(request)); - -The output will look something like this:: - - https://my-bucket-name.objects.dreamhost.com/secret_plans.txt?Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXX&Expires=1316027075&AWSAccessKeyId=XXXXXXXXXXXXXXXXXXX -