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)

Copying objects


Amazon S3 SDK provides a copy object functionality that allows you to copy Amazon S3 objects from one bucket to another. For this, you have to define the source bucket name, source object key, destination bucket name, and the destination object key. The following is the API that we can use to copy the object:

public void copyObjects1(String sourceBucketName, String sourceObjectKey, String destinationBucketName, String destinationObjectKey){
    System.out.println("================ COPY OBJECT ================ ");
    try {
      s3.copyObject(sourceBucketName, sourceObjectKey, destinationBucketName, destinationObjectKey);
    } catch (AmazonServiceException exception) {
      exception.printStackTrace();
    } catch (AmazonClientException exception) {
      exception.printStackTrace();
    }
  }

We can also copy objects using the CopyObjectRequest class. This is used when we want to add the metadata of a newly copied object along with CannedAccessControlList and constraints...