Book Image

Amazon S3 Essentials

By : Sunil Gulabani
Book Image

Amazon S3 Essentials

By: Sunil Gulabani

Overview of this book

Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure, durable, and highly-scalable object storage. Amazon S3 is easy to use, with a simple web services interface to store and retrieve any amount of data from anywhere on the web. S3 is automatically web scalable and responds to the requirements of your application and traffic, and therefore offers a key element to help companies deal dynamically with any spike in traffic for their application (such as a free e-book offer). This book starts with the basics of the Amazon S3 and its features, and you will quickly get an understanding how to use the Amazon Management Console for Amazon S3 which is the simplest way to manage Amazon S3. Next, we will cover basic operations on bucket, folder, objects. Once the basic operations are understood, you will know how to use Amazon S3 using Java SDK. Following that, you will learn about Copy Objects and Multipart copy objects for large objects size. You will also learn to manage the life cycle of bucket and how to share resources to the different domain by configuring CORS. The book will then guide you through the development and deployment of a static website on Amazon S3 using different services of Amazon. By the end of the book, you will be able to create a scalable application using Amazon S3.
Table of Contents (12 chapters)

Listing of bucket, folder, and objects


We first fetch the entire S3 bucket list, then we iterate over the objects of the bucket, and if it contains the folder, then we iterate over the objects of the folder.

The complete code for listing is as follows:

package com.chapter3;

import com.amazonaws.services.s3.model.Bucket;
import com.amazonaws.services.s3.model.ListObjectsRequest;
import com.amazonaws.services.s3.model.ObjectListing;
import com.amazonaws.services.s3.model.S3ObjectSummary;

public class ListFullHierarchy extends AmazonS3ClientInitializer{
  public ListFullHierarchy() {
    super();
  }

  public static void main(String[] args) {
    new CreateBucket().createBucket("sg-bucket-2015");
    new CreateBucketWithLogging().createBucketWithLogging("sg-bucket-2015-with-logging");
    new CreateBucketWithVersioning().createBucketWithVersioning("sg-bucket-2015-with-versioning");
    new CreateFolderInBucket().createFolderInBucket("sg-bucket-2015", "sg-folder");
    new UploadFileInBucket...