You can use event notification in S3. It has direct integration with Lambda, SNS, SQS

  • Goto properties tab in S3

  • Navigate to Event notification. click on create event notification. enter image description here

  • Then add the event name.

  • If you want to restrict the event to a specific folder or file type, you can fill in prefix or suffix fields or if you want it for entire bucket leave those blank. enter image description here

  • Then select a list of events. like put, post.enter image description here

  • Then choose the destination and click on save. You will be notified. enter image description here


As of 2021-11-29, Amazon Event Bridge now supports Amazon S3 Event Notifications without having to enable CloudTrial.

In the properties of the S3 bucket you want to monitor, you have to enable Amazon EventBridge.

enter image description here

This will allow you to send messages to EventBridge using Rules. enter image description here

In your eventbridge rule, you can configure lambda as a "Target". I made a step-by-step tutorial on how to configure eventbridge in AWS if you want to follow along: https://youtu.be/k-jEuNb_KBM