SlideShare a Scribd company logo
November 14, 2014 | Las Vegas, NV 
Tim Hunt, Sr. Product Manager, Amazon S3
S3 
Events 
SNS topic 
SQS queue 
Lambda function 
Notifications 
Foo() { 
… 
} 
--Preview --
Integration–A new surface on the Amazon S3 “building block” for event- based computing 
Speed–typical time to send notifications is less than a second 
Simplicity–Avoids proxies or polling to detect changes 
Proxy 
List/Diff 
 
Notifications 
or
S3 
Lambda 
Foo() { 
… 
} 
Notification
// read values from the event 
// sanity check: validate that source and destination are different buckets 
// make sure it‘s a jpg or png
// read values from the event 
var srcBucket = event.Records[0].s3.bucket.name; 
var srcKey = event.Records[0].s3.object.key; 
var dstBucket = srcBucket + "resized"; 
var dstKey = "resized-" + srcKey; 
// sanity check: validate that source and destination are different buckets 
// make sure it‘s a jpg or png
// read values from the event 
// sanity check: validate that source and destination are different buckets 
if (srcBucket == dstBucket) { 
return; 
} 
// make sure it‘s a jpg or png
// read values from the event 
// sanity check: validate that source and destination are different buckets 
// make sure it‘s a jpg or png 
var imageType = srcKey.match(/.([^.]*)$/)[1]; 
if (imageType != "jpg" && imageType != "png") { 
return; 
}
// download image from S3 into buffer 
// generate the thumbnail 
// Put into S3 
function upload(data, next) { 
s3.putObject({Bucket: dstBucket,Key: dstKey,Body: data, ContentType: contentType}, next);
// download image from S3 into buffer 
function download(next) { 
s3.getObject({Bucket: srcBucket,Key: srcKey}, next); 
}, 
// generate the thumbnail 
// Put into S3 
function upload(data, next) { 
s3.putObject({Bucket: dstBucket,Key: dstKey,Body: data, ContentType: contentType}, next);
// download image from S3 into buffer 
// generate the thumbnail 
function tranform(response, next) { 
gm(response.Body).size(function(err, size) { 
this.resize(width, height).toBuffer(imageType, function(err, buffer) { 
if (err) { next(err);} 
else {next(null, response.ContentType, buffer);} 
}); 
}); 
}, 
// Put into S3 
function upload(data, next) { 
s3.putObject({Bucket: dstBucket,Key: dstKey,Body: data, ContentType: contentType}, next);
// download image from S3 into buffer 
// generate the thumbnail 
// Put into S3 
function upload(data, next) { 
s3.putObject({Bucket: dstBucket,Key: dstKey,Body: data, ContentType: contentType}, next);
Continued…
SQS 
S3 
EC2 
Foo() { 
… 
} 
DynamoDB 
Notification 
Web Page
while (true) { 
// Long poll for the messages 
List<Message> messages =sqs.receiveMessage(receiveMessageRequest).getMessages(); 
for (Message message : messages) { 
// Process the message 
processMessage(message.getBody()); 
// Delete the message after we are done. 
sqs.deleteMessage(myQueueUrl,message.getReceiptHandle()); 
} 
} 
Authentication and access control not shown for brevity, but published best practices should be followed.
while (true) { 
// Long poll for the messages 
List<Message> messages =sqs.receiveMessage(receiveMessageRequest).getMessages(); 
for (Message message : messages) { 
// Process the message 
processMessage(message.getBody()); 
// Delete the message after we are done. 
sqs.deleteMessage(myQueueUrl,message.getReceiptHandle()); 
} 
} 
Authentication and access control not shown for brevity, but published best practices should be followed.
while (true) { 
// Long poll for the messages 
List<Message> messages =sqs.receiveMessage(receiveMessageRequest).getMessages(); 
for (Message message : messages) { 
// Process the message 
processMessage(message.getBody()); 
// Delete the message after we are done. 
sqs.deleteMessage(myQueueUrl,message.getReceiptHandle()); 
} 
} 
Authentication and access control not shown for brevity, but published best practices should be followed.
while (true) { 
// Long poll for the messages 
List<Message> messages =sqs.receiveMessage(receiveMessageRequest).getMessages(); 
for (Message message : messages) { 
// Process the message 
processMessage(message.getBody()); 
// Delete the message after we are done. 
sqs.deleteMessage(myQueueUrl,message.getReceiptHandle()); 
} 
} 
Authentication and access control not shown for brevity, but published best practices should be followed.
// Parse the bucket and key from the event notification// Skip thumbnails to avoid recursion 
// Download the file from S3 
Authentication and access control not shown for brevity, but published best practices should be followed.
// Parse the bucket and key from the event notification 
S3EventNotificationRecord item =S3EventNotificationItem.parseJson(messageBody) .getRecords().get(0); 
String bucketName= item.getS3().getBucket().getName(); 
String objectName= item.getS3().getObject().getObjectNameOnly(); 
String thumbnailFileName= thumbnailPrefix+ objectName; // Skip thumbnails to avoid recursion 
// Download the file from S3 
Authentication and access control not shown for brevity, but published best practices should be followed.
// Parse the bucket and key from the event notification 
if (objectName.startsWith(thumbnailPrefix)) { 
return; // Skip thumbnails to avoid recursion 
} 
// Download the file from S3 
Authentication and access control not shown for brevity, but published best practices should be followed.
// Parse the bucket and key from the event notification// Skip thumbnails to avoid recursion 
// Download the file from S3 
s3.getObject(new GetObjectRequest(bucketName, objectName), new File(tempFileName)); 
Authentication and access control not shown for brevity, but published best practices should be followed.
// Read the GPS info from the file 
// Put the photo info into DynamoDBfor public website display 
// Generate a thumbnail and put it into S3 
// Notify our web page to add it to the map 
Authentication and access control not shown for brevity, but published best practices should be followed.
// Read the GPS info from the file 
double[] gps= readGpsFromEXIF(tempFileName); 
// Put the photo info into DynamoDBfor public website display 
// Generate a thumbnail and put it into S3 
// Notify our web page to add it to the map 
Authentication and access control not shown for brevity, but published best practices should be followed.
// Read the GPS info from the file 
// Put the photo info into DynamoDBfor public website display 
putNewPhotoInDynamo(bucketName, objectName, gps, "http://" + sourceBucketName+ ".s3.amazonaws.com/" + thumbnailFileName); 
// Generate a thumbnail and put it into S3 
// Notify our web page to add it to the map 
Authentication and access control not shown for brevity, but published best practices should be followed.
// Read the GPS info from the file 
// Put the photo info into DynamoDBfor public website display 
// Generate a thumbnail and put it into S3 
generateThumbnail(tempFileName, thumbnailFileName); 
s3.putObject(sourceBucketName, thumbnailFileName,new File(thumbnailFileName)); 
// Notify our web page to add it to the map 
Authentication and access control not shown for brevity, but published best practices should be followed.
// Read the GPS info from the file 
// Put the photo info into DynamoDBfor public website display 
// Generate a thumbnail and put it into S3 
// Notify our web page to add it to the map 
sqs.sendMessage(sqs.createQueue(realTimeQueueName).getQueueUrl(), key); 
Authentication and access control not shown for brevity, but published best practices should be followed.
http://bit.ly/awsevals
Amazon
(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014
(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014
(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014
(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014
(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014
(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014
(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014
(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014
(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014
(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014
(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014

More Related Content

What's hot

Amazon S3 Overview
Amazon S3 OverviewAmazon S3 Overview
Amazon S3 Overview
Emilio Trussardi
 
Intro to Amazon S3
Intro to Amazon S3Intro to Amazon S3
Intro to Amazon S3
Yu Lun Teo
 
(STG401) Amazon S3 Deep Dive & Best Practices
(STG401) Amazon S3 Deep Dive & Best Practices(STG401) Amazon S3 Deep Dive & Best Practices
(STG401) Amazon S3 Deep Dive & Best Practices
Amazon Web Services
 
AWS S3 and GLACIER
AWS S3 and GLACIERAWS S3 and GLACIER
AWS S3 and GLACIER
Mahesh Raj
 
AWS May Webinar Series - Getting Started: Storage with Amazon S3 and Amazon G...
AWS May Webinar Series - Getting Started: Storage with Amazon S3 and Amazon G...AWS May Webinar Series - Getting Started: Storage with Amazon S3 and Amazon G...
AWS May Webinar Series - Getting Started: Storage with Amazon S3 and Amazon G...
Amazon Web Services
 
(SEC309) Amazon VPC Configuration: When Least Privilege Meets the Penetration...
(SEC309) Amazon VPC Configuration: When Least Privilege Meets the Penetration...(SEC309) Amazon VPC Configuration: When Least Privilege Meets the Penetration...
(SEC309) Amazon VPC Configuration: When Least Privilege Meets the Penetration...
Amazon Web Services
 
Object Storage: Amazon S3 and Amazon Glacier
Object Storage: Amazon S3 and Amazon GlacierObject Storage: Amazon S3 and Amazon Glacier
Object Storage: Amazon S3 and Amazon Glacier
Amazon Web Services
 
Building Your First Big Data Application on AWS
Building Your First Big Data Application on AWSBuilding Your First Big Data Application on AWS
Building Your First Big Data Application on AWS
Amazon Web Services
 
AWS Simple Storage Service (s3)
AWS Simple Storage Service (s3) AWS Simple Storage Service (s3)
AWS Simple Storage Service (s3)
zekeLabs Technologies
 
Aws meetup s3_plus
Aws meetup s3_plusAws meetup s3_plus
Aws meetup s3_plus
Adam Book
 
Rocking the enterprise with Ruby - RubyKaigi 2010
Rocking the enterprise with Ruby - RubyKaigi 2010Rocking the enterprise with Ruby - RubyKaigi 2010
Rocking the enterprise with Ruby - RubyKaigi 2010
releasebeta
 
AWS Webcast - Archiving in the Cloud - Best Practices for Amazon Glacier
AWS Webcast - Archiving in the Cloud - Best Practices for Amazon GlacierAWS Webcast - Archiving in the Cloud - Best Practices for Amazon Glacier
AWS Webcast - Archiving in the Cloud - Best Practices for Amazon Glacier
Amazon Web Services
 
Amazon S3 & Amazon Glacier - Object Storage Overview
Amazon S3 & Amazon Glacier - Object Storage OverviewAmazon S3 & Amazon Glacier - Object Storage Overview
Amazon S3 & Amazon Glacier - Object Storage Overview
Amazon Web Services
 
Using Amazon Cloudwatch Events, AWS Lambda and Spark Streaming to Process EC2...
Using Amazon Cloudwatch Events, AWS Lambda and Spark Streaming to Process EC2...Using Amazon Cloudwatch Events, AWS Lambda and Spark Streaming to Process EC2...
Using Amazon Cloudwatch Events, AWS Lambda and Spark Streaming to Process EC2...
Amazon Web Services
 
Masterclass Webinar - Amazon Simple Storage Service S3
Masterclass Webinar - Amazon Simple Storage Service S3Masterclass Webinar - Amazon Simple Storage Service S3
Masterclass Webinar - Amazon Simple Storage Service S3
Amazon Web Services
 
Deep Dive on AWS IoT
Deep Dive on AWS IoTDeep Dive on AWS IoT
Deep Dive on AWS IoT
Amazon Web Services
 
Building a Data Lake on AWS
Building a Data Lake on AWSBuilding a Data Lake on AWS
Building a Data Lake on AWS
Amazon Web Services
 
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
Simplilearn
 
AWS September Webinar Series - Building Your First Big Data Application on AWS
AWS September Webinar Series - Building Your First Big Data Application on AWS AWS September Webinar Series - Building Your First Big Data Application on AWS
AWS September Webinar Series - Building Your First Big Data Application on AWS
Amazon Web Services
 
Querying and Analyzing Data in Amazon S3
Querying and Analyzing Data in Amazon S3Querying and Analyzing Data in Amazon S3
Querying and Analyzing Data in Amazon S3
Amazon Web Services
 

What's hot (20)

Amazon S3 Overview
Amazon S3 OverviewAmazon S3 Overview
Amazon S3 Overview
 
Intro to Amazon S3
Intro to Amazon S3Intro to Amazon S3
Intro to Amazon S3
 
(STG401) Amazon S3 Deep Dive & Best Practices
(STG401) Amazon S3 Deep Dive & Best Practices(STG401) Amazon S3 Deep Dive & Best Practices
(STG401) Amazon S3 Deep Dive & Best Practices
 
AWS S3 and GLACIER
AWS S3 and GLACIERAWS S3 and GLACIER
AWS S3 and GLACIER
 
AWS May Webinar Series - Getting Started: Storage with Amazon S3 and Amazon G...
AWS May Webinar Series - Getting Started: Storage with Amazon S3 and Amazon G...AWS May Webinar Series - Getting Started: Storage with Amazon S3 and Amazon G...
AWS May Webinar Series - Getting Started: Storage with Amazon S3 and Amazon G...
 
(SEC309) Amazon VPC Configuration: When Least Privilege Meets the Penetration...
(SEC309) Amazon VPC Configuration: When Least Privilege Meets the Penetration...(SEC309) Amazon VPC Configuration: When Least Privilege Meets the Penetration...
(SEC309) Amazon VPC Configuration: When Least Privilege Meets the Penetration...
 
Object Storage: Amazon S3 and Amazon Glacier
Object Storage: Amazon S3 and Amazon GlacierObject Storage: Amazon S3 and Amazon Glacier
Object Storage: Amazon S3 and Amazon Glacier
 
Building Your First Big Data Application on AWS
Building Your First Big Data Application on AWSBuilding Your First Big Data Application on AWS
Building Your First Big Data Application on AWS
 
AWS Simple Storage Service (s3)
AWS Simple Storage Service (s3) AWS Simple Storage Service (s3)
AWS Simple Storage Service (s3)
 
Aws meetup s3_plus
Aws meetup s3_plusAws meetup s3_plus
Aws meetup s3_plus
 
Rocking the enterprise with Ruby - RubyKaigi 2010
Rocking the enterprise with Ruby - RubyKaigi 2010Rocking the enterprise with Ruby - RubyKaigi 2010
Rocking the enterprise with Ruby - RubyKaigi 2010
 
AWS Webcast - Archiving in the Cloud - Best Practices for Amazon Glacier
AWS Webcast - Archiving in the Cloud - Best Practices for Amazon GlacierAWS Webcast - Archiving in the Cloud - Best Practices for Amazon Glacier
AWS Webcast - Archiving in the Cloud - Best Practices for Amazon Glacier
 
Amazon S3 & Amazon Glacier - Object Storage Overview
Amazon S3 & Amazon Glacier - Object Storage OverviewAmazon S3 & Amazon Glacier - Object Storage Overview
Amazon S3 & Amazon Glacier - Object Storage Overview
 
Using Amazon Cloudwatch Events, AWS Lambda and Spark Streaming to Process EC2...
Using Amazon Cloudwatch Events, AWS Lambda and Spark Streaming to Process EC2...Using Amazon Cloudwatch Events, AWS Lambda and Spark Streaming to Process EC2...
Using Amazon Cloudwatch Events, AWS Lambda and Spark Streaming to Process EC2...
 
Masterclass Webinar - Amazon Simple Storage Service S3
Masterclass Webinar - Amazon Simple Storage Service S3Masterclass Webinar - Amazon Simple Storage Service S3
Masterclass Webinar - Amazon Simple Storage Service S3
 
Deep Dive on AWS IoT
Deep Dive on AWS IoTDeep Dive on AWS IoT
Deep Dive on AWS IoT
 
Building a Data Lake on AWS
Building a Data Lake on AWSBuilding a Data Lake on AWS
Building a Data Lake on AWS
 
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
 
AWS September Webinar Series - Building Your First Big Data Application on AWS
AWS September Webinar Series - Building Your First Big Data Application on AWS AWS September Webinar Series - Building Your First Big Data Application on AWS
AWS September Webinar Series - Building Your First Big Data Application on AWS
 
Querying and Analyzing Data in Amazon S3
Querying and Analyzing Data in Amazon S3Querying and Analyzing Data in Amazon S3
Querying and Analyzing Data in Amazon S3
 

Viewers also liked

Deep Dive on Amazon S3
Deep Dive on Amazon S3Deep Dive on Amazon S3
Deep Dive on Amazon S3
Amazon Web Services
 
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Amazon Web Services
 
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会
Ryuichi Tokugami
 
Welcome to the AWS Cloud - AWS Symposium 2014 - Washington D.C.
Welcome to the AWS Cloud - AWS Symposium 2014 - Washington D.C. Welcome to the AWS Cloud - AWS Symposium 2014 - Washington D.C.
Welcome to the AWS Cloud - AWS Symposium 2014 - Washington D.C.
Amazon Web Services
 
Disaster Recovery Sites on AWS: Minimal Cost, Maximum Efficiency
Disaster Recovery Sites on AWS: Minimal Cost, Maximum EfficiencyDisaster Recovery Sites on AWS: Minimal Cost, Maximum Efficiency
Disaster Recovery Sites on AWS: Minimal Cost, Maximum Efficiency
Amazon Web Services
 
(BDT204) Rendering a Seamless Satellite Map of the World with AWS and NASA Da...
(BDT204) Rendering a Seamless Satellite Map of the World with AWS and NASA Da...(BDT204) Rendering a Seamless Satellite Map of the World with AWS and NASA Da...
(BDT204) Rendering a Seamless Satellite Map of the World with AWS and NASA Da...
Amazon Web Services
 
(ENT210) Accelerating Business Innovation with DevOps on AWS | AWS re:Invent ...
(ENT210) Accelerating Business Innovation with DevOps on AWS | AWS re:Invent ...(ENT210) Accelerating Business Innovation with DevOps on AWS | AWS re:Invent ...
(ENT210) Accelerating Business Innovation with DevOps on AWS | AWS re:Invent ...
Amazon Web Services
 
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014(SEC303) Mastering Access Control Policies | AWS re:Invent 2014
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014
Amazon Web Services
 
Understanding AWS Security
Understanding AWS SecurityUnderstanding AWS Security
Understanding AWS Security
Amazon Web Services
 
Running Complex Enterprise Workloads on AWS - Session sponsored by Fronde
Running Complex Enterprise Workloads on AWS - Session sponsored by FrondeRunning Complex Enterprise Workloads on AWS - Session sponsored by Fronde
Running Complex Enterprise Workloads on AWS - Session sponsored by Fronde
Amazon Web Services
 
AWS Webcast - An Introduction to High Performance Computing on AWS
AWS Webcast - An Introduction to High Performance Computing on AWSAWS Webcast - An Introduction to High Performance Computing on AWS
AWS Webcast - An Introduction to High Performance Computing on AWS
Amazon Web Services
 
(ENT311) Public IaaS Provider Bake-off: AWS vs Azure | AWS re:Invent 2014
(ENT311) Public IaaS Provider Bake-off: AWS vs Azure | AWS re:Invent 2014(ENT311) Public IaaS Provider Bake-off: AWS vs Azure | AWS re:Invent 2014
(ENT311) Public IaaS Provider Bake-off: AWS vs Azure | AWS re:Invent 2014
Amazon Web Services
 
Federal Compliance Deep Dive: FISMA, FedRAMP, and Beyond - AWS Symposium 2014...
Federal Compliance Deep Dive: FISMA, FedRAMP, and Beyond - AWS Symposium 2014...Federal Compliance Deep Dive: FISMA, FedRAMP, and Beyond - AWS Symposium 2014...
Federal Compliance Deep Dive: FISMA, FedRAMP, and Beyond - AWS Symposium 2014...
Amazon Web Services
 
Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014
Amazon Web Services
 
AWS SQS SNS
AWS SQS SNSAWS SQS SNS
AWS SQS SNS
Durgesh Vaishnav
 
Masterclass Webinar: Amazon S3
Masterclass Webinar: Amazon S3Masterclass Webinar: Amazon S3
Masterclass Webinar: Amazon S3
Amazon Web Services
 
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
Amazon Web Services
 
Machine learning in php php con poland
Machine learning in php   php con polandMachine learning in php   php con poland
Machine learning in php php con poland
Damien Seguy
 
Machine learning in php
Machine learning in phpMachine learning in php
Machine learning in php
Damien Seguy
 

Viewers also liked (19)

Deep Dive on Amazon S3
Deep Dive on Amazon S3Deep Dive on Amazon S3
Deep Dive on Amazon S3
 
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
 
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会
S3解説 - 第1回 ビギナー編 AWS User Group - Japan 東京勉強会
 
Welcome to the AWS Cloud - AWS Symposium 2014 - Washington D.C.
Welcome to the AWS Cloud - AWS Symposium 2014 - Washington D.C. Welcome to the AWS Cloud - AWS Symposium 2014 - Washington D.C.
Welcome to the AWS Cloud - AWS Symposium 2014 - Washington D.C.
 
Disaster Recovery Sites on AWS: Minimal Cost, Maximum Efficiency
Disaster Recovery Sites on AWS: Minimal Cost, Maximum EfficiencyDisaster Recovery Sites on AWS: Minimal Cost, Maximum Efficiency
Disaster Recovery Sites on AWS: Minimal Cost, Maximum Efficiency
 
(BDT204) Rendering a Seamless Satellite Map of the World with AWS and NASA Da...
(BDT204) Rendering a Seamless Satellite Map of the World with AWS and NASA Da...(BDT204) Rendering a Seamless Satellite Map of the World with AWS and NASA Da...
(BDT204) Rendering a Seamless Satellite Map of the World with AWS and NASA Da...
 
(ENT210) Accelerating Business Innovation with DevOps on AWS | AWS re:Invent ...
(ENT210) Accelerating Business Innovation with DevOps on AWS | AWS re:Invent ...(ENT210) Accelerating Business Innovation with DevOps on AWS | AWS re:Invent ...
(ENT210) Accelerating Business Innovation with DevOps on AWS | AWS re:Invent ...
 
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014(SEC303) Mastering Access Control Policies | AWS re:Invent 2014
(SEC303) Mastering Access Control Policies | AWS re:Invent 2014
 
Understanding AWS Security
Understanding AWS SecurityUnderstanding AWS Security
Understanding AWS Security
 
Running Complex Enterprise Workloads on AWS - Session sponsored by Fronde
Running Complex Enterprise Workloads on AWS - Session sponsored by FrondeRunning Complex Enterprise Workloads on AWS - Session sponsored by Fronde
Running Complex Enterprise Workloads on AWS - Session sponsored by Fronde
 
AWS Webcast - An Introduction to High Performance Computing on AWS
AWS Webcast - An Introduction to High Performance Computing on AWSAWS Webcast - An Introduction to High Performance Computing on AWS
AWS Webcast - An Introduction to High Performance Computing on AWS
 
(ENT311) Public IaaS Provider Bake-off: AWS vs Azure | AWS re:Invent 2014
(ENT311) Public IaaS Provider Bake-off: AWS vs Azure | AWS re:Invent 2014(ENT311) Public IaaS Provider Bake-off: AWS vs Azure | AWS re:Invent 2014
(ENT311) Public IaaS Provider Bake-off: AWS vs Azure | AWS re:Invent 2014
 
Federal Compliance Deep Dive: FISMA, FedRAMP, and Beyond - AWS Symposium 2014...
Federal Compliance Deep Dive: FISMA, FedRAMP, and Beyond - AWS Symposium 2014...Federal Compliance Deep Dive: FISMA, FedRAMP, and Beyond - AWS Symposium 2014...
Federal Compliance Deep Dive: FISMA, FedRAMP, and Beyond - AWS Symposium 2014...
 
Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014
 
AWS SQS SNS
AWS SQS SNSAWS SQS SNS
AWS SQS SNS
 
Masterclass Webinar: Amazon S3
Masterclass Webinar: Amazon S3Masterclass Webinar: Amazon S3
Masterclass Webinar: Amazon S3
 
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
(SEC302) Delegating Access to Your AWS Environment | AWS re:Invent 2014
 
Machine learning in php php con poland
Machine learning in php   php con polandMachine learning in php   php con poland
Machine learning in php php con poland
 
Machine learning in php
Machine learning in phpMachine learning in php
Machine learning in php
 

Similar to (SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014

Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013
Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013
Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013
Amazon Web Services
 
ABCD firebase
ABCD firebaseABCD firebase
ABCD firebase
옥현 도
 
Amazon Rekognition Workshop
Amazon Rekognition WorkshopAmazon Rekognition Workshop
Amazon Rekognition Workshop
Amazon Web Services
 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobile
Vinay Kumar
 
Beyond the page
Beyond the pageBeyond the page
Beyond the page
Glenn Jones
 
I os 13
I os 13I os 13
I os 13
信嘉 陳
 
The Open Web and what it means
The Open Web and what it meansThe Open Web and what it means
The Open Web and what it means
Robert Nyman
 
【AWS Developers Meetup】RESTful APIをChaliceで紐解く
【AWS Developers Meetup】RESTful APIをChaliceで紐解く【AWS Developers Meetup】RESTful APIをChaliceで紐解く
【AWS Developers Meetup】RESTful APIをChaliceで紐解く
Amazon Web Services Japan
 
Alex Casalboni - Configuration management and service discovery - Codemotion ...
Alex Casalboni - Configuration management and service discovery - Codemotion ...Alex Casalboni - Configuration management and service discovery - Codemotion ...
Alex Casalboni - Configuration management and service discovery - Codemotion ...
Codemotion
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
Knoldus Inc.
 
Building Apps with SwiftUI and Firebase
Building Apps with SwiftUI and FirebaseBuilding Apps with SwiftUI and Firebase
Building Apps with SwiftUI and Firebase
Peter Friese
 
DWR, Hibernate and Dojo.E - A Tutorial
DWR, Hibernate and Dojo.E - A TutorialDWR, Hibernate and Dojo.E - A Tutorial
DWR, Hibernate and Dojo.E - A Tutorial
jbarciauskas
 
Transmogrifier: Migrating to Plone with less pain
Transmogrifier: Migrating to Plone with less painTransmogrifier: Migrating to Plone with less pain
Transmogrifier: Migrating to Plone with less pain
Lennart Regebro
 
Firebase overview
Firebase overviewFirebase overview
Firebase overview
Maksym Davydov
 
Cloud Function For Firebase - GITS
Cloud Function For Firebase - GITSCloud Function For Firebase - GITS
Cloud Function For Firebase - GITS
Yatno Sudar
 
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps_Fest
 
Asynchronous Processing with Ruby on Rails (RailsConf 2008)
Asynchronous Processing with Ruby on Rails (RailsConf 2008)Asynchronous Processing with Ruby on Rails (RailsConf 2008)
Asynchronous Processing with Ruby on Rails (RailsConf 2008)
Jonathan Dahl
 
Rapid prototyping and easy testing with ember cli mirage
Rapid prototyping and easy testing with ember cli mirageRapid prototyping and easy testing with ember cli mirage
Rapid prototyping and easy testing with ember cli mirage
Krzysztof Bialek
 
Masterclass Webinar: Application Services and Dynamic Dashboard
Masterclass Webinar: Application Services and Dynamic DashboardMasterclass Webinar: Application Services and Dynamic Dashboard
Masterclass Webinar: Application Services and Dynamic Dashboard
Amazon Web Services
 
Firebase with Android
Firebase with AndroidFirebase with Android
Firebase with Android
Fumihiko Shiroyama
 

Similar to (SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014 (20)

Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013
Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013
Building Cloud-Backed Mobile Apps (MBL402) | AWS re:Invent 2013
 
ABCD firebase
ABCD firebaseABCD firebase
ABCD firebase
 
Amazon Rekognition Workshop
Amazon Rekognition WorkshopAmazon Rekognition Workshop
Amazon Rekognition Workshop
 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobile
 
Beyond the page
Beyond the pageBeyond the page
Beyond the page
 
I os 13
I os 13I os 13
I os 13
 
The Open Web and what it means
The Open Web and what it meansThe Open Web and what it means
The Open Web and what it means
 
【AWS Developers Meetup】RESTful APIをChaliceで紐解く
【AWS Developers Meetup】RESTful APIをChaliceで紐解く【AWS Developers Meetup】RESTful APIをChaliceで紐解く
【AWS Developers Meetup】RESTful APIをChaliceで紐解く
 
Alex Casalboni - Configuration management and service discovery - Codemotion ...
Alex Casalboni - Configuration management and service discovery - Codemotion ...Alex Casalboni - Configuration management and service discovery - Codemotion ...
Alex Casalboni - Configuration management and service discovery - Codemotion ...
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Building Apps with SwiftUI and Firebase
Building Apps with SwiftUI and FirebaseBuilding Apps with SwiftUI and Firebase
Building Apps with SwiftUI and Firebase
 
DWR, Hibernate and Dojo.E - A Tutorial
DWR, Hibernate and Dojo.E - A TutorialDWR, Hibernate and Dojo.E - A Tutorial
DWR, Hibernate and Dojo.E - A Tutorial
 
Transmogrifier: Migrating to Plone with less pain
Transmogrifier: Migrating to Plone with less painTransmogrifier: Migrating to Plone with less pain
Transmogrifier: Migrating to Plone with less pain
 
Firebase overview
Firebase overviewFirebase overview
Firebase overview
 
Cloud Function For Firebase - GITS
Cloud Function For Firebase - GITSCloud Function For Firebase - GITS
Cloud Function For Firebase - GITS
 
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
DevOps Fest 2019. Alex Casalboni. Configuration management and service discov...
 
Asynchronous Processing with Ruby on Rails (RailsConf 2008)
Asynchronous Processing with Ruby on Rails (RailsConf 2008)Asynchronous Processing with Ruby on Rails (RailsConf 2008)
Asynchronous Processing with Ruby on Rails (RailsConf 2008)
 
Rapid prototyping and easy testing with ember cli mirage
Rapid prototyping and easy testing with ember cli mirageRapid prototyping and easy testing with ember cli mirage
Rapid prototyping and easy testing with ember cli mirage
 
Masterclass Webinar: Application Services and Dynamic Dashboard
Masterclass Webinar: Application Services and Dynamic DashboardMasterclass Webinar: Application Services and Dynamic Dashboard
Masterclass Webinar: Application Services and Dynamic Dashboard
 
Firebase with Android
Firebase with AndroidFirebase with Android
Firebase with Android
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
Amazon Web Services
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
Amazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Amazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
Amazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Amazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 

Recently uploaded (20)

Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 

(SDD413) Amazon S3 Deep Dive and Best Practices | AWS re:Invent 2014

  • 1. November 14, 2014 | Las Vegas, NV Tim Hunt, Sr. Product Manager, Amazon S3
  • 2.
  • 3.
  • 4. S3 Events SNS topic SQS queue Lambda function Notifications Foo() { … } --Preview --
  • 5. Integration–A new surface on the Amazon S3 “building block” for event- based computing Speed–typical time to send notifications is less than a second Simplicity–Avoids proxies or polling to detect changes Proxy List/Diff  Notifications or
  • 6.
  • 7. S3 Lambda Foo() { … } Notification
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. // read values from the event // sanity check: validate that source and destination are different buckets // make sure it‘s a jpg or png
  • 17. // read values from the event var srcBucket = event.Records[0].s3.bucket.name; var srcKey = event.Records[0].s3.object.key; var dstBucket = srcBucket + "resized"; var dstKey = "resized-" + srcKey; // sanity check: validate that source and destination are different buckets // make sure it‘s a jpg or png
  • 18. // read values from the event // sanity check: validate that source and destination are different buckets if (srcBucket == dstBucket) { return; } // make sure it‘s a jpg or png
  • 19. // read values from the event // sanity check: validate that source and destination are different buckets // make sure it‘s a jpg or png var imageType = srcKey.match(/.([^.]*)$/)[1]; if (imageType != "jpg" && imageType != "png") { return; }
  • 20. // download image from S3 into buffer // generate the thumbnail // Put into S3 function upload(data, next) { s3.putObject({Bucket: dstBucket,Key: dstKey,Body: data, ContentType: contentType}, next);
  • 21. // download image from S3 into buffer function download(next) { s3.getObject({Bucket: srcBucket,Key: srcKey}, next); }, // generate the thumbnail // Put into S3 function upload(data, next) { s3.putObject({Bucket: dstBucket,Key: dstKey,Body: data, ContentType: contentType}, next);
  • 22. // download image from S3 into buffer // generate the thumbnail function tranform(response, next) { gm(response.Body).size(function(err, size) { this.resize(width, height).toBuffer(imageType, function(err, buffer) { if (err) { next(err);} else {next(null, response.ContentType, buffer);} }); }); }, // Put into S3 function upload(data, next) { s3.putObject({Bucket: dstBucket,Key: dstKey,Body: data, ContentType: contentType}, next);
  • 23. // download image from S3 into buffer // generate the thumbnail // Put into S3 function upload(data, next) { s3.putObject({Bucket: dstBucket,Key: dstKey,Body: data, ContentType: contentType}, next);
  • 24.
  • 25.
  • 26.
  • 28.
  • 29. SQS S3 EC2 Foo() { … } DynamoDB Notification Web Page
  • 30. while (true) { // Long poll for the messages List<Message> messages =sqs.receiveMessage(receiveMessageRequest).getMessages(); for (Message message : messages) { // Process the message processMessage(message.getBody()); // Delete the message after we are done. sqs.deleteMessage(myQueueUrl,message.getReceiptHandle()); } } Authentication and access control not shown for brevity, but published best practices should be followed.
  • 31. while (true) { // Long poll for the messages List<Message> messages =sqs.receiveMessage(receiveMessageRequest).getMessages(); for (Message message : messages) { // Process the message processMessage(message.getBody()); // Delete the message after we are done. sqs.deleteMessage(myQueueUrl,message.getReceiptHandle()); } } Authentication and access control not shown for brevity, but published best practices should be followed.
  • 32. while (true) { // Long poll for the messages List<Message> messages =sqs.receiveMessage(receiveMessageRequest).getMessages(); for (Message message : messages) { // Process the message processMessage(message.getBody()); // Delete the message after we are done. sqs.deleteMessage(myQueueUrl,message.getReceiptHandle()); } } Authentication and access control not shown for brevity, but published best practices should be followed.
  • 33. while (true) { // Long poll for the messages List<Message> messages =sqs.receiveMessage(receiveMessageRequest).getMessages(); for (Message message : messages) { // Process the message processMessage(message.getBody()); // Delete the message after we are done. sqs.deleteMessage(myQueueUrl,message.getReceiptHandle()); } } Authentication and access control not shown for brevity, but published best practices should be followed.
  • 34. // Parse the bucket and key from the event notification// Skip thumbnails to avoid recursion // Download the file from S3 Authentication and access control not shown for brevity, but published best practices should be followed.
  • 35. // Parse the bucket and key from the event notification S3EventNotificationRecord item =S3EventNotificationItem.parseJson(messageBody) .getRecords().get(0); String bucketName= item.getS3().getBucket().getName(); String objectName= item.getS3().getObject().getObjectNameOnly(); String thumbnailFileName= thumbnailPrefix+ objectName; // Skip thumbnails to avoid recursion // Download the file from S3 Authentication and access control not shown for brevity, but published best practices should be followed.
  • 36. // Parse the bucket and key from the event notification if (objectName.startsWith(thumbnailPrefix)) { return; // Skip thumbnails to avoid recursion } // Download the file from S3 Authentication and access control not shown for brevity, but published best practices should be followed.
  • 37. // Parse the bucket and key from the event notification// Skip thumbnails to avoid recursion // Download the file from S3 s3.getObject(new GetObjectRequest(bucketName, objectName), new File(tempFileName)); Authentication and access control not shown for brevity, but published best practices should be followed.
  • 38. // Read the GPS info from the file // Put the photo info into DynamoDBfor public website display // Generate a thumbnail and put it into S3 // Notify our web page to add it to the map Authentication and access control not shown for brevity, but published best practices should be followed.
  • 39. // Read the GPS info from the file double[] gps= readGpsFromEXIF(tempFileName); // Put the photo info into DynamoDBfor public website display // Generate a thumbnail and put it into S3 // Notify our web page to add it to the map Authentication and access control not shown for brevity, but published best practices should be followed.
  • 40. // Read the GPS info from the file // Put the photo info into DynamoDBfor public website display putNewPhotoInDynamo(bucketName, objectName, gps, "http://" + sourceBucketName+ ".s3.amazonaws.com/" + thumbnailFileName); // Generate a thumbnail and put it into S3 // Notify our web page to add it to the map Authentication and access control not shown for brevity, but published best practices should be followed.
  • 41. // Read the GPS info from the file // Put the photo info into DynamoDBfor public website display // Generate a thumbnail and put it into S3 generateThumbnail(tempFileName, thumbnailFileName); s3.putObject(sourceBucketName, thumbnailFileName,new File(thumbnailFileName)); // Notify our web page to add it to the map Authentication and access control not shown for brevity, but published best practices should be followed.
  • 42. // Read the GPS info from the file // Put the photo info into DynamoDBfor public website display // Generate a thumbnail and put it into S3 // Notify our web page to add it to the map sqs.sendMessage(sqs.createQueue(realTimeQueueName).getQueueUrl(), key); Authentication and access control not shown for brevity, but published best practices should be followed.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.