Amazon S3 has a simple web services interface that you can use to store and retrieve any amount of data, at any time, from anywhere on the web.
We can send requests to create buckets, store and retrieve objects, and manage permissions on our recources. The guide also describe access control and the authentication process. Access control defines who can access objects and buckets within S3, and the type of access.
Advantages to Amazon S3
- Create Buckets: create and name a bucket that stores data. Buckets are the fundational container in S3 for data storage.
- Store data in Buckets: store an infinite amount of data in a bucket. Upload as many objects as you like into an S3 bucket. Each object can contain up to 5 TB of data. Each object is stored and retrieved using a unique developer-assigned key.
- Download data
- Permissions
- Standard interfaces: Use standards-based REST and SOAP interfaces designed to work with any Internet-development toolkit.
Concepts of S3
1. Buckets
A bucket is a container for objects stored in S3. Every objects is contained in a bucket. For example, if a object named photes/puppy.jpg is stored in the johnsmith bucket, then it is addressable using the URL: http://johnsmith.s3.amazonaws.com/photos/puppy.jpg
Buckets serve several purposes:
- They organize the S3 namespace at highest level
- They identify the account reponsible for storage and data transfer charges
- They play a role in access control
- They serve as the unit aggregation for usage reporting
Objects
Objects are the fundamental entities stored in S3. Objects consist of object data and metadata. Metadata is a set of name-value pairs that describe the object. These include some default metadata, such as data last modified, and standard HTTP metadata, such as Content-Type.
Keys
A Key is the unique identifier for an object within a bucket. Each object in a bucket has exactly one key. Because the combination of a bucket, key, and version ID uniquely identify each object. S3 can be thought of as a basic data map between “bucket + key + version” and the object itself. Every object in Amazon S3 can be uniquely addressed through the combination of the web service endpoint, bucket name, key, and optionally, a version. For example, in the URL http://doc.s3.amazonaws.com/2006-03-01/AmazonS3.wsdl, “doc” is the name of the bucket and “2006-03-01/AmazonS3.wsdl” is the key.
Regions
We can choose the geographical region where S3 will store the buckets we create.
Data consistency model of S3
S3 provides eventual consistency for read-after-write.