top of page

Create thumbnail images using AWS Lambda and Amazon S3

Updated: Apr 7, 2022

Event-driven architecture using AWS Lambda & Amazon S3.

Tutorial Objectives:

1. Learn to create Lambda using AWS Management Console.

2. Learn to implement event-driven architecture using S3 as event source to invoke Lambda function

Step 1: In Lambda service console, go to Function in the left navigation panel.

Click on Create Function.

Select Author from Scratch to create a Function.

  • Function Name: create-thumbnail

  • Runtime: Python 3.7

Expand Change default execution role.

Execution Role: Create a new role with basic Lambda permissions.

Click Create Function.

Click on Configuration. In the left side panel, Click on Permissions.

Click on the role name which appears.

This will redirect you to IAM console.

Click on Attach policies.

Select Policy Name: AmazonS3FullAccess and Click Attach policy.

Step 2: Click on the following

This will download the file on your local machine

Go back to Lambda console.

Click on Code and at the right corner upload from .zip file

Select CreateThumbnail file and Click Save.

Click on Code.

In Runtime settings Click on Edit.

  • Handler: CreateThumbnail.handler

The zip file we have downloaded has a python program with the name

This code has a function called handler.

Thus the handler name is CreateThumbnail.handler

Click Save.

Step 3: Open the new AWS tab and go to S3 console.

Create two buckets in the same region as of Lambda Function i.e. Sydney here.

Create first bucket.

Click on Create bucket.

Bucket name: mybucket4533

AWS region should be same.

Public Access should be blocked.

Click Create bucket.

Similarly, follow the same above step for creating a second bucket

  • Bucket Name: Paste the name of the previous bucket you have created and append -resized at the end of the name i.e. (mybucket4533-resized)

  • Click Create.

Now you have the buckets named as

  • mybucket4533

  • mybucket4533-resized

Step 4: Go to Lambda Function.

Click Add Trigger.

Select S3 Trigger.

Select Bucket: mybucket4533

Click on I Acknowledge and click Add.

Step 5: Go to S3 console.

Go to Source bucket and upload any image file with no space in the file name.

Size of the file here is 73.4 KB.

Now Go to Resized bucket and check the resized image.

So the size of newly resized file is 2 KB.

NOTE: Empty S3 buckets and delete buckets. Delete Lambda function.

Was this document helpful? How can we make this document better? Please provide your insights. You can download PDF version for reference.

Image resize using S3 and Lambda function blog-converted (1)
Download PDF • 1.22MB

We provide best AWS trainings from Pune, India.

For aws certification contact us now.

1,150 views11 comments
bottom of page