diff --git a/s3-eventbridge-fargate-cdk/s3-eventbirdge-fargate-cdk.json b/s3-eventbridge-fargate-cdk/s3-eventbirdge-fargate-cdk.json new file mode 100644 index 000000000..38376b7ad --- /dev/null +++ b/s3-eventbridge-fargate-cdk/s3-eventbirdge-fargate-cdk.json @@ -0,0 +1,92 @@ +{ + "title": "Amazon S3 to AWS Fargate", + "description": "Start an AWS Fargate Task when a file is uploaded to S3", + "language": "TypeScript", + "level": "200", + "framework": "CDK", + "introBox": { + "headline": "How it works", + "text": [ + "This pattern demonstrates how to start an AWS Fargate task when an object is uploaded to Amazon S3.", + "This pattern is commonly implemented with an AWS Lambda function, but this is not always possible:", + " - Processing > 15 min", + " - Docker image > 10G", + " - GPU required", + "Thanks to Amazon EventBridge, S3 events can start an ECS/Fargate task." + ] + }, + "gitHub": { + "template": { + "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/s3-eventbridge-fargate-cdk", + "templateURL": "serverless-patterns/s3-eventbridge-fargate-cdk/src", + "projectFolder": "s3-eventbridge-fargate-cdk", + "templateFile": "src/s3-trigger-fargate-task-stack.ts" + } + }, + "resources": { + "bullets": [ + { + "text": "Using EventBridge to handle S3 events", + "link": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html" + }, + { + "text": "ECS Task as a target for EventBridge", + "link": "https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html#targets-specifics-ecs-task" + } + ] + }, + "deploy": { + "text": [ + "npm install && cdk deploy" + ] + }, + "testing": { + "text": [ + "See the GitHub repo for detailed testing instructions." + ] + }, + "cleanup": { + "text": [ + "Delete the stack: cdk destroy." + ] + }, + "authors": [ + { + "name": "Jerome Van Der Linden", + "image": "https://serverlessland.com/assets/images/resources/contributors/jerome-van-der-linden.jpg", + "bio": "Jerome is a Solutions Architect Builder at AWS. Passionate about building stuff using the AWS services, and especially the serverless ones.", + "linkedin": "jeromevdl", + "twitter": "jeromevdl" + } + ], + "patternArch": { + "icon1": { + "x": 20, + "y": 50, + "service": "s3", + "label": "Amazon S3" + }, + "icon2": { + "x": 50, + "y": 50, + "service": "eventbridge", + "label": "Amazon EventBridge" + }, + "icon3": { + "x": 80, + "y": 50, + "service": "fargate", + "label": "AWS Fargate" + }, + "line1": { + "from": "icon1", + "to": "icon2", + "label": "Event" + }, + "line2": { + "from": "icon2", + "to": "icon3", + "label": "Rule" + } + } +}