Serverless Notification System

Serverless Notification System

Project Overview:

This project demonstrates a serverless notification system built on AWS. It automatically sends an email alert whenever a file is uploaded to an S3 bucket.

Steps taken to complets this project :

Verified a Single Email Address in SES

Amazon SES
Amazon SES
Amazon SES
Amazon SES
Amazon SES
Amazon SES

- Verified one email in Amazon SES
- Used this email as both the sender and recipient
- Ensured SES was operating in sandbox mode for testing


2. Create an S3 bucket

Amazon S3

- Named the bucket
- Enabled default settings suitable for file uploads
- Prepared it to trigger Lambda on PUT events


3. Create IAM Role for Lambda


IAM ROLE
IAM ROLE
IAM ROLE

Assigned permissions:
- AmazonS3ReadOnlyAccess
- AmazonSESFullAccess
- CloudWatchLogsFullAccess
- Named the role LambdaS3SESTriggerRole


4. Built Lambda function


AWS Lambda
AWS Lambda

Used Python to write a function that:
- Extracts file name and bucket from the S3 event
- Sends an email via SES using the verified address
- Logs execution details to CloudWatch
- Configured S3 event notifications to trigger Lambda on file uploads
- Verified permissions and tested with sample uploads


5. Uploaded and monitored execution with cloudwatch


Amazon S3
Amazon CloudWatch
Amazon CloudWatch
Amazon CloudWatch
Amazon CloudWatch
Email address
Email address

- Viewed logs to confirm Lambda execution and SES delivery
- Verified email receipt and message formatting


Outcome

- Successfully received email alerts for every S3 upload
- Verified Lambda execution and SES integration via CloudWatch
- Demonstrated a complete serverless pipeline using only one verified email


Key Features

- Amazon S3 to store uploaded files
- AWS Lambda to process upload events
- Amazon SES (Simple Email Service) to send email notifications
- Amazon CloudWatch to log and monitor Lambda execution