Why Teams call analytics are critical to your entire business
Amazon S3 Overview
1. Amazon S3 and related services
Emilio Trussardi
F1000.com
January 17, 2012
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 1 / 12
2. Introduction
Introducing Amazon S3
Definition
S3 is an online storage web service, designed for high redundancy, high
availabilty and low latency.
Features
99.999999999% durability (on a given year)
99.99% availability (on a given year)
designed to support concurrent data failure in two physical facilities.
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 2 / 12
3. Introduction
Organize your data
Definition
A bucket is the basic storage unit in Amazon S3. It is a single-level
container (no hierarchy supported), and it’s based on key-object
associations.
Details
Sub-folder are supported through specific Content-Type headers and
a “substring mechanism”
Upload and download are easy
Renaming of folders; navigation of complex hierarchy can be
problematic.
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 3 / 12
4. Introduction
Organize your data
Example
dev.my.bucket.com
Urls for download
http://dev.my.bucket.com.s3.amazonaws.com/
https://dev.my.bucket.com.s3.amazonaws.com/
https://dev.my.bucket.com.s3.amazonaws.com/?torrent
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 4 / 12
5. Access S3
Access S3 - GUI
Use Amazon AWS Management Console
Use Cloudberry Explorer
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 5 / 12
6. Access S3
Access S3 - CLI
Use s3cmd - open source, easy to configure
s3cmd get
s3://my.bucket.com/posters/thumbnails/100118026
s3cmd ls s3://my.bucket.com
s3cmd put this.jpg
s3://my.bucket.com/posters/thumbnails/this.jpg
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 6 / 12
7. Access S3
Access S3 - Java
Use JetS3t - open source library based on Apache HttpClient
it also works on Google Storage!
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 7 / 12
8. Access S3
JetS3t example - Connection
String awsAccessKey = ‘‘YOUR_AWS_ACCESS_KEY’’;
String awsSecretKey = ‘‘YOUR_AWS_SECRET_KEY’’;
AWSCredentials awsCredentials = new AWSCredentials(awsAccessKey,
awsSecretKey);
S3Service s3Service = new RestS3Service(awsCredentials);
S3Bucket[] myBuckets = s3Service.listAllBuckets();
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 8 / 12
9. Access S3
JetS3t example - Upload
File fileData = new File(‘‘images/this.jpg’’);
S3Object fileObject = new S3Object(fileData);
s3Service.putObject(testBucket, object);
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 9 / 12
10. Advanced
Access control lists
S3 allows you to specify an Access Control List for every object in the
database
You can set permissions for the owner, for authenticated user, for
specific users (e-mail and Amazon ID) and for everybody.
It’s even possible to create public URLs that expire at a given date
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 10 / 12
11. Advanced
CloudFront
Definition
CloudFront is Amazon Content Delivery Network based on Amazon S3.
It is available in two flavours: download (HTTP) or streaming
(RTMP) distributions.
It acts like a cache: objects are copied to edge locations across the
globe.
An object remains in an edge location until it expires or until it’s
invalidated
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 11 / 12
12. Advanced
Miscellanea
Cache-Control, Content-Type and other headers can be specified at
upload time or can be modified later.
Create buckets with Reduced Redundancy Storage
Versioning for increased data safety
Server side encoding
S3 can be used to host complete static websites; just provide index
and error pages
AWS Import/Export
Emilio Trussardi (F1000.com) Amazon S3 and related services January 17, 2012 12 / 12