Process Amazon S3 Events with AWS Lambda
Description
Amazon Simple Storage Service (S3) lets you store, retrieve, update, and version objects in the Cloud. Not only does it guarantee durability and high availability at low cost, but it also enables event-driven systems by notifying you whenever objects are created, updated, or deleted. This lets you connect S3 to SQS queues, SNS notifications, or AWS Lambda for custom processing.
In this lab, we will learn how to process new image files uploaded into S3 with a Lambda Function. As a simple example, we will use Python to compress the input image and generate a gzipped version.
Learning Objectives
Upon completion of this lab you will be able to:
- Use Lambda to respond to events in Amazon S3
- Utilize Python Lambda functions for event processing including use of the boto3 library
- Compress data to reduce costs
Intended Audience
- Developers working with event-driven paradigms
- Practitioners looking to automate processing of S3 files
Prerequisites
Experience with S3 and the Lambda command-line will be beneficial but is not required.
The following courses can be used to fulfill the prerequisites:
Updates
June 5th, 2021 - Updated Amazon S3 screenshots to reflect the latest user interface changes
March 9th, 2021 - Updated AWS Lambda lab steps to reflect latest user interface updates
January 22nd, 2021 - Updated AWS Lambda lab steps to reflect latest user interface updates
October 27th, 2020 - Updated instructions and screenshots for the lambda creation to reflect the updated UI
July 29th, 2020 - Updated lab to reflect the latest console experience and resolved an issue in the Python code causing the function to fail to zip processed images
January 10th, 2019 - Added a validation Lab Step to check the work you perform in the Lab
September 10, 2018 - Updated instructions and images to improve the lab experience