Pokémon™️ and Digimon™️ media assets extraction service
The service is subscribed to a media extraction event.
When the event is received the service extracts an image from Pokémon and Digimon public API services and uploads it to an S3 bucket.
flowchart TD
eb(eventbus)
subgraph step function
sf1{choice state}
sf2p(pokemon img extractor)
sf2d(digimon img extractor)
sf3(extraction completed task)
end
s3[(creature img bucket)]
eb -- sub event --> sf1
sf1 -- pokemon --> sf2p
sf1 -- digimon --> sf2d
sf1 -- unknown input --> sf3
sf2p -. uploads img .-> s3
sf2d -. uploads img .-> s3
sf2p --> sf3
sf2d --> sf3
sf3 -- pub event --> eb
The cdk.json
file tells the CDK Toolkit how to execute your app.
npm run tc
perform ts type-checknpm run build
compile typescript to js in dist foldernpm run test
perform the jest unit testsnpm run cdk deploy
deploy this stack to your default AWS account/regionnpm run cdk diff
compare deployed stack with current statenpm run cdk synth
emits the synthesized CloudFormation template
- Add S3 storage to infra
- Add Pokemon media extractor
- Add Pokemon API integration
- Add S3 integration
- Add Digimon media extractor
- Add Digimon API integration
- Add S3 integration
- Add lambda handler for pokemon media extraction
- Add lambda handler for pokemon media extraction
- Add step function
- Lambda choice step
- Media extraction completed task
- Add EventBridge Integration
- Trigger state machine on event bus event
- Publish extracted media event to event bus
- Log extracted media event to cloudwatch
- Add DataDog integration (via lambda construct extension
or using CDK AspectsDataDog does not support CDK Aspects)