How to Troubleshoot When S3 Event Notifications Don’t Trigger Lambda

Set up an S3 event to trigger your Lambda function, but nothing happens? I’ve run into that too.

I put together a quick guide to help you troubleshoot the issue. It walks you through everything from checking S3 event config to verifying Lambda permissions.

1️⃣ Double-check Your S3 Event Notification

  • Go to your bucket → Properties → Event Notifications.
  • Is the event (like s3:ObjectCreated:*) actually set up and pointing to your Lambda? If not, that’s step one.

 

2️⃣ Check Lambda’s Execution Role

  • Got to IAM → Roles → Look for the one attached to your Lambda.
  • It should have AWSLambdaBasicExecutionRole and permissions to read S3 if needed.

 

3️⃣ Do a Quick Upload Test

  • Upload a test file to your S3 bucket.
  • Then head to CloudWatch Logs and see if anything got triggered.
  • If the logs are quiet, something’s off with the trigger.

 

4️⃣ Check Lambda’s Resource Policy

  • Got to Lambda → Configuration → Permissions.
  • Make sure S3 has permission to invoke your function. Here’s a sample you should see:

5️⃣ Recreate the S3 Notification (Yes, Really)

  • Sometimes just deleting and recreating the event fixes everything.
  • Don’t forget to click “Save changes”—super easy to overlook.

Bonus Tip: Use test events in the Lambda console or AWS CLI to simulate the S3 event and see if your function is wired up right.

Leave a Reply

Your email address will not be published. Required fields are marked *