S3
Overview
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.
It uses the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites.
Buckets
A bucket is a container for objects stored in Amazon S3.
Every object is contained in a bucket.
They must have a globally unique name and the name must follow the naming convection.
You can configure buckets so that they are created in a specific AWS Region.
You can also configure a bucket so that every time an object is added to it, Amazon S3 generates a unique version ID and assigns it to the object.
Objects
Objects are the fundamental entities stored in Amazon S3.
Objects consist of object data and metadata.
Objects can range in size from a minimum of 0 bytes to a maximum of 5 terabytes.
The data portion is opaque to Amazon S3.
The metadata is a set of name-value pairs that describe the object.
These include some default metadata, such as the date last modified, and standard HTTP metadata.
Keys
A key is the unique identifier for an object within a bucket.
Every object in a bucket has exactly one key.
The combination of a bucket, key, and version ID uniquely identify each object.
Object Versioning
Use Amazon S3 Versioning to keep multiple versions of an object in one bucket.
It is defined at the bucket level; not at the object level.
For example, you could store
my-image.jpg
(version 111111) andmy-image.jpg
(version 222222) in a single bucket.S3 Versioning protects you from the consequences of unintended overwrites and deletions.
You can also use it to archive objects so that you have access to previous versions.
You must explicitly enable S3 Versioning on your bucket.
By default, S3 Versioning is disabled.
If S3 Versioning is enabled, Amazon S3 assigns a version ID value for the object.
Uploading objects using multipart upload API
Multipart upload allows you to upload a single object as a set of parts.
Each part is a contiguous portion of the object's data.
You can upload these object parts independently and in any order.
If transmission of any part fails, you can retransmit that part without affecting other parts.
Last updated