From 773a79eb43b8469d956c6c7cf301bdf2513e322a Mon Sep 17 00:00:00 2001 From: Julian Wood Date: Wed, 21 Aug 2024 14:07:41 +0100 Subject: [PATCH] Paterns edits --- ...ridge-pipes-ddb-streams-sqs-terraform.json | 87 ----------------- .../eventbridge-pipes-sqs-cwlog.json | 93 ------------------ .../example-pattern.json | 4 +- .../eventbridge-pipes-sqs-sfn-tf.json | 84 ---------------- .../example-pattern.json | 2 +- guardduty-malware-s3/example-pattern.json | 6 +- .../guardduty-malware-s3.json | 2 +- s3-lambda-bedrock-js-sam/example-pattern.json | 2 +- .../s3-lambda-bedrock-js-sam.json | 97 ------------------- .../s3-lambda-resizing-java.json | 88 ----------------- 10 files changed, 8 insertions(+), 457 deletions(-) delete mode 100644 eventbridge-pipes-dynamodbstream-to-sqs-terraform/eventbridge-pipes-ddb-streams-sqs-terraform.json delete mode 100644 eventbridge-pipes-sqs-to-cwlog/eventbridge-pipes-sqs-cwlog.json delete mode 100644 eventbridge-pipes-sqs-to-stepfunctions-terraform/eventbridge-pipes-sqs-sfn-tf.json delete mode 100644 s3-lambda-bedrock-js-sam/s3-lambda-bedrock-js-sam.json delete mode 100644 s3-lambda-resizing-java/s3-lambda-resizing-java.json diff --git a/eventbridge-pipes-dynamodbstream-to-sqs-terraform/eventbridge-pipes-ddb-streams-sqs-terraform.json b/eventbridge-pipes-dynamodbstream-to-sqs-terraform/eventbridge-pipes-ddb-streams-sqs-terraform.json deleted file mode 100644 index d36062c55..000000000 --- a/eventbridge-pipes-dynamodbstream-to-sqs-terraform/eventbridge-pipes-ddb-streams-sqs-terraform.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "title": "Amazon DynamoDB Streams to Amazon SQS queue using AWS EventBridge Pipes", - "description": "This pattern creates an AWS EventBridge Pipe to deliver messages from an Amazon DynamoDB Stream to Amazon SQS.", - "language": "", - "level": "200", - "framework": "Terraform", - "introBox": { - "headline": "How it works", - "text": [ - "Whenever there is a change (insert, update, or delete) to an item in a DynamoDB table, a new record is added to the DynamoDB Stream. The stream captures the details of the event, and the item data.", - "This pattern allows you to react to changes in your DynamoDB table by filtering (optional) and delivering relevant events to an SQS queue. The EventBridge Pipe acts as a bridge between the DynamoDB Stream and the SQS queue.", - "Then, other services or applications can consume these events from the SQS queue." - ] - }, - "gitHub": { - "template": { - "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/eventbridge-pipes-dynamodbstream-to-sqs-terraform", - "templateURL": "serverless-patterns/eventbridge-pipes-dynamodbstream-to-sqs-terraform", - "projectFolder": "eventbridge-pipes-dynamodbstream-to-sqs-terraform", - "templateFile": "main.tf" - } - }, - "resources": { - "bullets": [ - { - "text": "EventBridge Pipes with DynamoDB stream as a source", - "link": "https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-dynamodb.html" - }, - { - "text": "Amazon EventBridge Pipes architectural patterns", - "link": "https://aws.amazon.com/blogs/compute/implementing-architectural-patterns-with-amazon-eventbridge-pipes/" - } - ] - }, - "deploy": { - "text": [ - "terraform init", - "terraform apply" - ] - }, - "testing": { - "text": [ - "See the README in the GitHub repo for detailed testing instructions." - ] - }, - "cleanup": { - "text": [ - "terraform destroy" - ] - }, - "authors": [ - { - "name": "Chaitanya Gummadi", - "image": "https://gravatar.com/avatar/a9b30c6e727f613f3f44a44016e36998719404ea7451c750f402a21f2dd72937.jpg?size=256", - "bio": "Chaitanya is a Sr. Cloud Support Engineer with Amazon Web Services (AWS) based in Texas.", - "linkedin": "cgummadi" - } - ], - "patternArch": { - "icon1": { - "x": 20, - "y": 50, - "service": "dynamodb-stream", - "label": "Amazon DynamoDB Streams" - }, - "icon2": { - "x": 55, - "y": 50, - "service": "eventbridge-pipes", - "label": "AWS EventBridge Pipes" - }, - "icon3": { - "x": 90, - "y": 50, - "service": "sqs", - "label": "Amazon SQS" - }, - "line1": { - "from": "icon1", - "to": "icon2" - }, - "line2": { - "from": "icon2", - "to": "icon3" - } - } -} diff --git a/eventbridge-pipes-sqs-to-cwlog/eventbridge-pipes-sqs-cwlog.json b/eventbridge-pipes-sqs-to-cwlog/eventbridge-pipes-sqs-cwlog.json deleted file mode 100644 index 8a86ec362..000000000 --- a/eventbridge-pipes-sqs-to-cwlog/eventbridge-pipes-sqs-cwlog.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "title": "Filter and Transform Amazon SQS messages with Amazon EventBridge Pipes", - "description": "Amazon SQS to Amazon CloudWatch Log group via Amazon EventBridge Pipes filter and transformation", - "language": "", - "level": "200", - "framework": "SAM", - "introBox": { - "headline": "How it works", - "text": [ - "This sample project demonstrates how to use Amazon EventBridge Pipes to connect an Amazon SQS queue with an Amazon CloudWatch Log group. The pipe will apply a filter and transformation before sending the message to the CloudWatch Log group.", - "This pattern deploys one SQS queue, one EventBridge Pipe, and a CloudWatch Log group" - ] - }, - "gitHub": { - "template": { - "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/eventbridge-pipes-sqs-to-cwlog", - "templateURL": "serverless-patterns/eventbridge-pipes-sqs-to-cwlog", - "projectFolder": "eventbridge-pipes-sqs-to-cwlog", - "templateFile": "template.yaml" - } - }, - "resources": { - "bullets": [ - { - "text": "Configuring a queue to use with EventBridge Pipes", - "link": "https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-sqs.html#pipes-sqs-configure-queue" - }, - { - "text": "Amazon EventBridge Pipes filtering", - "link": "https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-event-filtering.html" - }, - { - "text": "Amazon EventBridge Pipes input transformation", - "link": "https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-input-transformation.html" - }, - { - "text": "Amazon EventBridge Pipes targets", - "link": "https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-event-target.html" - } - ] - }, - "deploy": { - "text": [ - "sam deploy --guided" - ] - }, - "testing": { - "text": [ - "See the GitHub repo for detailed testing instructions." - ] - }, - "cleanup": { - "text": [ - "Delete the stack: sam delete." - ] - }, - "authors": [ - { - "name": "Anup Rajpara", - "image": "https://drive.google.com/file/d/1MqpPNLCqbU4kvvtTspNXZBqD99aVIJI9/view?usp=sharing", - "bio": "Anup is passionate about serverless & event-driven architectures.", - "linkedin": "anup-rajpara-developer" - } - ], - "patternArch": { - "icon1": { - "x": 15, - "y": 50, - "service": "sqs", - "label": "Amazon SQS" - }, - "icon2": { - "x": 45, - "y": 50, - "service": "eventbridge-pipes", - "label": "Amazon EventBridge Pipes" - }, - "icon3": { - "x": 80, - "y": 50, - "service": "cloudwatch", - "label": "Amazon CloudWatch Logs" - }, - "line1": { - "from": "icon1", - "to": "icon2" - }, - "line2": { - "from": "icon2", - "to": "icon3" - } - } -} diff --git a/eventbridge-pipes-sqs-to-cwlog/example-pattern.json b/eventbridge-pipes-sqs-to-cwlog/example-pattern.json index 55cbc2185..7dc320276 100644 --- a/eventbridge-pipes-sqs-to-cwlog/example-pattern.json +++ b/eventbridge-pipes-sqs-to-cwlog/example-pattern.json @@ -1,5 +1,5 @@ { - "title": "Amazon SQS to CloudWatch Log group via Amazon EventBridge", + "title": "Amazon SQS to Amazon CloudWatch Log group via Amazon EventBridge Pipes", "description": "Amazon SQS to CloudWatch Log group via Amazon EventBridge Pipes filter and transformation", "language": "", "level": "200", @@ -7,7 +7,7 @@ "introBox": { "headline": "How it works", "text": [ - "This sample project demonstrates how to use Amazon EventBridge Pipes to connect an Amazon SQS queue with an AWS CloudWatch Log group. The pipe will apply a filter and transformation before sending the message to AWS CloudWatch Log group.", + "This sample project shows how to use Amazon EventBridge Pipes to connect an Amazon SQS queue with an AWS CloudWatch Log group. The pipe will apply a filter and transformation before sending the message to AWS CloudWatch Log group.", "This pattern deploys one SQS queue, EventBridge Pipe, and CloudWatch Log group" ] }, diff --git a/eventbridge-pipes-sqs-to-stepfunctions-terraform/eventbridge-pipes-sqs-sfn-tf.json b/eventbridge-pipes-sqs-to-stepfunctions-terraform/eventbridge-pipes-sqs-sfn-tf.json deleted file mode 100644 index a51de1af7..000000000 --- a/eventbridge-pipes-sqs-to-stepfunctions-terraform/eventbridge-pipes-sqs-sfn-tf.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "title": "Invoke AWS Step Functions state machine with Amazon with EventBridge Pipes", - "description": "This pattern shows how to use Amazon EventBridge Pipes to launch an AWS Step Functions state machine with a message coming from an Amazon SQS Queue.", - "language": "", - "level": "200", - "framework": "Terraform", - "introBox": { - "headline": "How it works", - "text": [ - "Amazon EventBridge Pipes connects sources to targets. This Terraform stack creates an EventBridge Pipe which polls for messages from a source SQS queue and sends the messages to the target AWS Step Functions state machine." - ] - }, - "gitHub": { - "template": { - "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/eventbridge-pipes-sqs-to-stepfunctions-terraform", - "templateURL": "eventbridge-pipes-sqs-to-stepfunctions-terraform", - "projectFolder": "eventbridge-pipes-sqs-to-stepfunctions-terraform", - "templateFile": "main.tf" - } - }, - "resources": { - "bullets": [ - { - "text": "Amazon EventBridge Pipes", - "link": "https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html" - }, - { - "text": "Video explaining EventBridge Pipes", - "link": "https://www.youtube.com/watch?v=xXGXCOc3cBs&t=1037s" - } - ] - }, - "deploy": { - "text": [ - "terraform apply" - ] - }, - "testing": { - "text": [ - "See the GitHub repo for detailed testing instructions." - ] - }, - "cleanup": { - "text": [ - "Delete the stack: terraform destroy." - ] - }, - "authors": [ - { - "name": "Farrukh Jamal", - "image": "https://media.licdn.com/dms/image/C5103AQHH_uSeGxOlZw/profile-displayphoto-shrink_400_400/0/1570698220038?e=1726099200&v=beta&t=7HUDKvPyM5GbBA1eOhVGB9POwFhXC3v87-vrqCIk1d0", - "bio": "Farrukh is a Cloud Support Engineer at AWS based in the Australia.", - "linkedin": "farrukhjamal/" - } - ], - "patternArch": { - "icon1": { - "x": 20, - "y": 50, - "service": "sqs", - "label": "Amazon SQS" - }, - "icon2": { - "x": 50, - "y": 50, - "service": "eventbridge-pipes", - "label": "Amazon EventBridge Pipes" - }, - "icon3": { - "x": 80, - "y": 50, - "service": "sfn", - "label": "AWS Step Functions" - }, - "line1": { - "from": "icon1", - "to": "icon2" - }, - "line2": { - "from": "icon2", - "to": "icon3" - } - } -} diff --git a/eventbridge-pipes-sqs-to-stepfunctions-terraform/example-pattern.json b/eventbridge-pipes-sqs-to-stepfunctions-terraform/example-pattern.json index d5e2d8e9e..c7942f2bf 100644 --- a/eventbridge-pipes-sqs-to-stepfunctions-terraform/example-pattern.json +++ b/eventbridge-pipes-sqs-to-stepfunctions-terraform/example-pattern.json @@ -1,5 +1,5 @@ { - "title": "SQS to Step Functions with EventBridge Pipes", + "title": "Invoke AWS Step Functions state machine from Amazon SQS messages using Amazon EventBridge Pipes", "description": "This pattern shows how to use EventBridge Pipes to launch a Step Functions state machine with a message coming from SQS Queue.", "language": "", "level": "200", diff --git a/guardduty-malware-s3/example-pattern.json b/guardduty-malware-s3/example-pattern.json index b4d607757..39c2ef26b 100644 --- a/guardduty-malware-s3/example-pattern.json +++ b/guardduty-malware-s3/example-pattern.json @@ -1,6 +1,6 @@ { - "title": "AWS S3 to AWS GuardDuty to EventBridge to SNS", - "description": "Configure Malware Protection for S3 bucket using Amazon GuardDuty", + "title": "Amazon GuardDuty Malware Protection for Amazon S3", + "description": "Configure Malware Protection for Amazon S3 bucket using Amazon GuardDuty", "language": "yaml", "level": "200", "framework": "SAM", @@ -8,7 +8,7 @@ "headline": "How it works", "text": [ "This pattern protects an S3 bucket with malware protection by using GuardDuty to detect malicious file uploads.", - "The SAM template creates an IAM role that allows GuardDuty to receive S3 put object and bucket-level event notifications through an EventBridge managed rule. Another EventBridge rule, created by the template, monitors the S3 object scan results and sends notifications to the user’s email address, which is subscribed to an Amazon SNS topic.", + "The AWS SAM template creates an IAM role that allows GuardDuty to receive S3 put object and bucket-level event notifications through an EventBridge managed rule. Another EventBridge rule, created by the template, monitors the S3 object scan results and sends notifications to the user’s email address, which is subscribed to an Amazon SNS topic.", "This pattern deploys one S3 Bucket, one SNS topic, one SNS subscription, one IAM role, one EventBridge rule and one Malware protection plan resources " ] }, diff --git a/guardduty-malware-s3/guardduty-malware-s3.json b/guardduty-malware-s3/guardduty-malware-s3.json index b6efac5da..fd2cf2f63 100644 --- a/guardduty-malware-s3/guardduty-malware-s3.json +++ b/guardduty-malware-s3/guardduty-malware-s3.json @@ -8,7 +8,7 @@ "headline": "How it works", "text": [ "This pattern demonstrates creating an Amazon S3 Malware Protection plan and integrating the findings with Amazon EventBridge and Amazon SNS to notify users of the scan results.", - "The SAM template creates an IAM role that includes permissions required for GuardDuty to receive S3 put object and bucket-level event notifications through an EventBridge managed rule. The template also creates an EventBridge managed rule, which is used to route S3 `put-object` and S3 bucket-level event notifications to GuardDuty's S3 Malware Protection Service.", + "The AWS SAM template creates an IAM role that includes permissions required for GuardDuty to receive S3 put object and bucket-level event notifications through an EventBridge managed rule. The template also creates an EventBridge managed rule, which is used to route S3 `put-object` and S3 bucket-level event notifications to GuardDuty's S3 Malware Protection Service.", "Another EventBridge rule monitors the S3 object scan results and sends notifications to an SNS topic where users can subscribe via email.", "This pattern deploys one S3 Bucket, one SNS topic, one SNS subscription, one IAM role, one EventBridge rule, and one Malware protection plan." ] diff --git a/s3-lambda-bedrock-js-sam/example-pattern.json b/s3-lambda-bedrock-js-sam/example-pattern.json index 05e412133..d03374d76 100644 --- a/s3-lambda-bedrock-js-sam/example-pattern.json +++ b/s3-lambda-bedrock-js-sam/example-pattern.json @@ -1,6 +1,6 @@ { "title": "Amazon S3 to AWS Lambda to Amazon Bedrock using AWS SAM", - "description": "This pattern facilitates generating vector embeddings for text data uploaded to S3.", + "description": "This pattern uses AWS Lambda to generate vector embeddings from text data uploaded to S3 using Amazon Bedrock.", "language": "Node.js", "level": "200", "framework": "SAM", diff --git a/s3-lambda-bedrock-js-sam/s3-lambda-bedrock-js-sam.json b/s3-lambda-bedrock-js-sam/s3-lambda-bedrock-js-sam.json deleted file mode 100644 index 725810d1c..000000000 --- a/s3-lambda-bedrock-js-sam/s3-lambda-bedrock-js-sam.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "title": "Amazon S3 to AWS Lambda to Amazon Bedrock using AWS SAM", - "description": "This pattern facilitates generating vector embeddings for text data uploaded to S3.", - "language": "Node.js", - "level": "200", - "framework": "SAM", - "introBox": { - "headline": "How it works", - "text": [ - "When a new object is uploaded to an S3 bucket, S3 detects the putObject event and invokes a Lambda function asynchronously, passing details about the uploaded object. The Lambda function then retrieves the object's content and sends it to the Amazon Bedrock Titan Embedding service, which generates vector embeddings representing the content's meaning and context." - ] - }, - "gitHub": { - "template": { - "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/s3-lambda-bedrock-js-sam", - "templateURL": "serverless-patterns/s3-lambda-bedrock-js-sam", - "projectFolder": "s3-lambda-bedrock-js-sam", - "templateFile": "template.yaml" - } - }, - "resources": { - "bullets": [ - { - "text": "Amazon S3", - "link": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html" - }, - { - "text": "AWS Lambda", - "link": "https://docs.aws.amazon.com/lambda/latest/dg/welcome.html" - }, - { - "text": "Amazon Bedrock", - "link": "https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html" - } - ] - }, - "deploy": { - "text": [ - "sam build", - "sam deploy --guided" - ] - }, - "testing": { - "text": [ - "See the GitHub repo for detailed testing instructions." - ] - }, - "cleanup": { - "text": [ - "sam delete" - ] - }, - "authors": [ - { - "name": "Achintya Veer Singh", - "image": "https://avatars.githubusercontent.com/u/55053737?v=4", - "bio": "Solutions Architect @ AWS", - "linkedin": "achintya-veer-singh-493403193", - "twitter": "achintya_veer" - }, - { - "name": "Rohit Raj", - "image": "https://avatars.githubusercontent.com/u/69171887?v=4", - "bio": "Solutions Architect @ AWS", - "linkedin": "rohitraj-11", - "twitter": "RohitRaj_11" - } - ], - "patternArch": { - "icon1": { - "x": 20, - "y": 50, - "service": "s3", - "label": "Amazon S3" - }, - "icon2": { - "x": 50, - "y": 50, - "service": "lambda", - "label": "AWS Lambda" - }, - "icon3": { - "x": 80, - "y": 50, - "service": "bedrock", - "label": "Amazon Bedrock" - }, - "line1": { - "from": "icon1", - "to": "icon2" - }, - "line2": { - "from": "icon2", - "to": "icon3" - } - } -} diff --git a/s3-lambda-resizing-java/s3-lambda-resizing-java.json b/s3-lambda-resizing-java/s3-lambda-resizing-java.json deleted file mode 100644 index aaaa007d8..000000000 --- a/s3-lambda-resizing-java/s3-lambda-resizing-java.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "title": "Resizing images uploaded to Amazon S3 with AWS Lambda", - "description": "Create an AWS Lambda function that resizes images uploaded to Amazon S3.", - "language": "Java", - "level": "200", - "framework": "SAM", - "introBox": { - "headline": "How it works", - "text": [ - "This sample project shows how to use a Java-based Lambda function to resize an image from a source S3 bucket and put the resized image in a destination S3 bucket.", - "When a new JPEG image is added to the source S3 bucket, an event gets triggered which invoks the Java-based Lambda function. The Lambda functions gets the object from the bucket, resizes it to 800x600 resolution, and puts the resized image in the destination bucket.", - "This pattern uses AWS SAM with Lambda SnapStart on ARM64 architecture on a Java 21 manged runtime." - ] - }, - "gitHub": { - "template": { - "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/s3-lambda-resizing-java", - "templateURL": "serverless-patterns/s3-lambda-resizing-java", - "projectFolder": "s3-lambda-resizing-java", - "templateFile": "template.yaml" - } - }, - "resources": { - "bullets": [ - { - "text": "Effectively Running Java on Serverless", - "link": "https://s12d.com/serverless-java" - }, - { - "text": "Lambda SnapStart", - "link": "https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html" - } - ] - }, - "deploy": { - "text": [ - "sam build && sam deploy --guided" - ] - }, - "testing": { - "text": [ - "See the GitHub repo for detailed testing instructions." - ] - }, - "cleanup": { - "text": [ - "Delete the stack: sam delete." - ] - }, - "authors": [ - { - "name": "Dhiraj Mahapatro", - "image": "https://i.postimg.cc/cr6qVWdr/mahadhir-high-res-current-photo.jpg", - "bio": "Principal Specialist SA, Serverless, AWS", - "linkedin": "dmahapatro", - "twitter": "dhirajmahapatro" - } - ], - "patternArch": { - "icon1": { - "x": 20, - "y": 50, - "service": "s3", - "label": "Amazon S3" - }, - "icon2": { - "x": 50, - "y": 50, - "service": "lambda", - "label": "AWS Lambda" - }, - "icon3": { - "x": 80, - "y": 50, - "service": "s3", - "label": "Amazon S3" - }, - "line1": { - "from": "icon1", - "to": "icon2", - "label": "Object Created" - }, - "line2": { - "from": "icon2", - "to": "icon3" - } - } -}