In this Advanced Challenge, you are tasked with creating a brand new workflow using AWS Lambda and AWS Step Functions, from scratch. Your brief is to replicate a similar system to the Image Manager you worked on in Module 3, whereby images uploaded to an S3 bucket were processed and stored in a subfolder. Your implementation should handle different file types (for example, JPG and PNG files) and execute different Lambda functions depending on the type, failing the workflow if the type is not supported. The processing you do in the functions is up to you - but in the sample solution provided, we invert the image if it is a PNG and if the image is a JPG, we convert to grey-scale.
Advanced: Your implementation should also handle exceptions. As a test, if the uploaded file has a certain name, you should throw an exception from the Lambda function that is caught and handled by the state machine.
You should implement this system with a full CI/CD pipeline, created using CodeStar.
For information about how to throw exceptions from Lambda functions and have them caught in the Step Function state machine, see here