ᴇɴɢʟɪꜱʜ | ᴘᴏʀᴛᴜɢᴜᴇꜱᴇ-ʙʀ
Implementing a serverless architecture on AWS to track and notify low inventory levels using S3, Lambda, DynamoDB, and SNS.
We're creating an inventory tracking system. Stores worldwide will upload inventory files to Amazon S3. We want to be able to view the inventory levels and send notifications when inventory levels are low.
- Upload an inventory file to an Amazon S3 bucket.
- This upload triggers a Lambda function to read the file and insert items into an Amazon DynamoDB table.
- A serverless, web-based dashboard application will use Amazon Cognito for AWS authentication. It will then gain access to the DynamoDB table to display inventory levels.
- Another Lambda function will receive updates from the DynamoDB table. This function will send a message to an SNS topic when an inventory item is out of stock.
- Amazon SNS will then send a notification through short message service (SMS) or email to request additional inventory.
Traditionally, applications run on physical or virtual servers that require purchase, provisioning, and capacity management. With AWS Lambda, you run code without pre-allocated servers, triggered as needed, and pay only for usage.
This setup triggers a Lambda function when a file is uploaded to Amazon S3, loading data into an Amazon DynamoDB table. Data is displayed on a dashboard retrieving directly from DynamoDB. This serverless solution scales automatically and incurs minimal costs when idle.
- Implement a serverless architecture on AWS
- Trigger Lambda functions from Amazon S3 and DynamoDB
- Configure Amazon SNS for notifications