This project is an overview of an Event Driven Sales Data Projection data pipeline that Process the Orders data based on their Status and route towards DynamoDB or SQS as per the Business requirement rules. We will design a system using AWS services such as S3, Lambda, DynamoDB, Step Function and Event Bridge.
- We will create a State Machine "Sales-Data-StateMachine" using the Step Function service, which will start a workflow for the complete data process.
-
we will create a Event Bridge rule "s3-orders-json-data" to trigger the step function when we got a new file upload in S3 bucket.
-
Note: We have to Enable from the S3 bucket to send Notification to Event Bridge.
-
we will create a simple Lambda function "order-json-data-process" to validate the intrim data in state machine. it will return the successfull output if the input data is having 'contaxt-info' else it will raise an exception
- we will create a DynamoDB Table "valid-orders-data" to store the valid orders process by the lambda function.
- we will create a SQS "order-data-dlq" to store the failed data messages for reprocessing purpose if required.
-
we will upload the 'order-data.json' file in the S3 bucket, which will trigger the State Machine workflow.
-
we are having 2 records in the current data to test both the case of having contact info in the data.
-
Success
-
Failure