Introduction to Amazon S3

Topics

This introduction to Amazon S3 provides a high-level overview of this web service. After reading this section, you should understand the basics you need to work through the examples in this guide.

Overview of Amazon S3

Amazon S3 enables you to upload, download, and store data across the Internet. You can also use the data with other AWS services, such as EC2, Amazon Elastic MapReduce, and Amazon Import/Export. With Amazon S3, you can charge people who download data you make available. You can store up to 5 GB of data in one object but you can store as many objects as you like on Amazon S3. The path to the data is a URL, which make accessing the data easy.

Features

The following list describes the features of Amazon S3 highlighted by the tutorial in this guide.

  • Create Buckets—Create and name a bucket that stores data

    Buckets are the fundamental container in Amazon S3 for data storage.

  • Store Data in the Bucket—Store an infinite amount of data in a bucket

    Upload as many objects as you like into an Amazon S3 bucket. Each object can contain up to 5 GB of data.

  • Download Data—Download your data or enable others to

    Download your data any time you like or allow others to do the same.

  • Permissions—Grant or deny access to others who want to upload or download data into your Amazon S3 bucket

    Grant upload and download permissions to three types of users.

Key Amazon S3 Concepts

This section describes key Amazon S3 concepts.

Objects

Objects are the fundamental entities stored in Amazon S3. Objects consist of object data and metadata and can range in size from 1 byte to 5 gigabytes. The data portion is opaque to Amazon S3. The metadata is a set of name-value pairs that describe the object. The developer can specify custom metadata and standard HTTP metadata, such as Content-Type.

Buckets

You upload objects in buckets. There is no limit to the number of objects that you can store in a bucket. The bucket provides a unique namespace for the management of objects contained in the bucket. Because the namespace for bucket names is global, each developer can own up to 100 buckets at a time.

You own each bucket you create. We charge you for storing objects in your buckets and for transferring objects in and out of your buckets.

Keys

A key is the unique identifier for an object within a bucket. In simple terms, the key is the bucket's name. Every object has exactly one key. Together, a bucket name and a key uniquely identify an object in Amazon S3.You can access every object in Amazon S3 by a combination of the service endpoint, bucket name, and key. For example, in http://doc.s3.amazonaws.com/2006-03-01/AmazonS3.wsdl, "doc" is the bucket name and "2006-03-01/AmazonS3.wsdl" is the key.

Overview of Examples

This guide walks you through the process of using Amazon S3. In the tutorial, you:

The next section explains how to sign up for AWS, Amazon S3, and set up your development environment so that you can actually try the examples explained in the tutorial. You must complete all of these tasks before you can use Amazon S3.

If you have developed applications for other AWS services, you can skip to the section on signing up to use Amazon S3 and then move on to the tutorial or implementation section. For more information about signing up for Amazon S3, see Signing Up for Amazon S3.

If you already know how to use a library to issue a web service request and parse an XML response, you can skip to the implementation section that lists many different ways to get an in-depth knowledge of Amazon S3. To skip to more advanced topics, see Implementing Amazon S3 in a Live Environment