|
1 | 1 | { |
2 | | - "title": "Step Functions to Athena", |
3 | | - "description": "Create a Step Functions workflow to query Amazon Athena.", |
4 | | - "language": "Python", |
| 2 | + "title": "Content based router with SNS and SQS filters", |
| 3 | + "description": "Create an SNS topic and multiple SQS queues with content filtered based on configurable criteria.", |
| 4 | + "language": "Typescript", |
5 | 5 | "level": "200", |
6 | 6 | "framework": "CDK", |
7 | 7 | "introBox": { |
8 | 8 | "headline": "How it works", |
9 | 9 | "text": [ |
10 | | - "This sample project demonstrates how to use an AWS Step Functions state machine to query Athena and get the results. This pattern is leveraging the native integration between these 2 services which means only JSON-based, structured language is used to define the implementation.", |
11 | | - "With Amazon Athena you can get up to 1000 results per invocation of the GetQueryResults method and this is the reason why the Step Function has a loop to get more results. The results are sent to a Map which can be configured to handle (the DoSomething state) the items in parallel or one by one by modifying the max_concurrency parameter.", |
12 | | - "This pattern deploys one Step Functions, two S3 Buckets, one Glue table and one Glue database." |
| 10 | + "This CDK project demonstrates how to create a Message Content-based routing pattern using Amazon SNS and Amazon SQS.", |
| 11 | + "The number of Queues and the Filters are dynamically defined inside the stackconfiguration.json file. The solution can be adapted for any specific requirement.", |
| 12 | + "This architecture is an implementation of the Integration pattern: Content-Based Message Router explained in the Integration Patterns book." |
13 | 13 | ] |
14 | 14 | }, |
15 | 15 | "gitHub": { |
16 | 16 | "template": { |
17 | | - "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/sfn-athena-cdk-python", |
18 | | - "templateURL": "serverless-patterns/sfn-athena-cdk-python", |
19 | | - "projectFolder": "sfn-athena-cdk-python", |
20 | | - "templateFile": "sfn_athena_cdk_python/sfn_athena_cdk_python_stack.py" |
| 17 | + "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/sns-sqs-message-content-router-cdk", |
| 18 | + "templateURL": "serverless-patterns/sns-sqs-message-content-router-cdk", |
| 19 | + "projectFolder": "sns-sqs-message-content-router-cdk", |
| 20 | + "templateFile": "sns-sqs-message-content-router-cdk/src/Cdk/CdkStack.ts" |
21 | 21 | } |
22 | 22 | }, |
23 | 23 | "resources": { |
24 | 24 | "bullets": [ |
25 | 25 | { |
26 | | - "text": "Call Athena with Step Functions", |
27 | | - "link": "https://docs.aws.amazon.com/step-functions/latest/dg/connect-athena.html" |
28 | | - }, |
29 | | - { |
30 | | - "text": "Amazon Athena - Serverless Interactive Query Service", |
31 | | - "link": "https://aws.amazon.com/athena/" |
| 26 | + "text": "Amazon SNS subscription filter policies", |
| 27 | + "link": "https://docs.aws.amazon.com/sns/latest/dg/sns-subscription-filter-policies.html" |
32 | 28 | } |
33 | 29 | ] |
34 | 30 | }, |
35 | 31 | "deploy": { |
36 | 32 | "text": [ |
37 | | - "sam deploy" |
| 33 | + "cdk deploy" |
38 | 34 | ] |
39 | 35 | }, |
40 | 36 | "testing": { |
|
44 | 40 | }, |
45 | 41 | "cleanup": { |
46 | 42 | "text": [ |
47 | | - "Delete the stack: <code>cdk delete</code>." |
| 43 | + "Delete the stack: <code>cdk destroy</code>." |
48 | 44 | ] |
49 | 45 | }, |
50 | 46 | "authors": [ |
51 | 47 | { |
52 | | - "name": "Your name", |
53 | | - "image": "link-to-your-photo.jpg", |
54 | | - "bio": "Your bio.", |
| 48 | + "name": "Raffaele Garofalo (Raf)", |
| 49 | + "image": "https://avatars.githubusercontent.com/raffaeu", |
| 50 | + "bio": "Raffaele Garofalo (Raf) is a Senior Solutions Architect at AWS and member of the AWS Serverless TFC (Technical Field Communities).", |
55 | 51 | "linkedin": "linked-in-ID", |
56 | 52 | "twitter": "twitter-handle" |
57 | 53 | } |
|
0 commit comments