GithubHelp home page GithubHelp logo

aws-samples / serverless-patterns Goto Github PK

View Code? Open in Web Editor NEW
1.5K 30.0 899.0 499.5 MB

Serverless patterns. Learn more at the website: https://serverlessland.com/patterns.

Home Page: https://serverlessland.com

License: Other

JavaScript 3.61% TypeScript 7.20% HTML 1.19% Python 74.26% Dockerfile 0.10% Batchfile 0.32% C# 3.25% Java 3.30% Makefile 0.17% Rust 0.25% HCL 5.00% Go 0.57% Shell 0.44% PowerShell 0.29% Kotlin 0.03% Velocity Template Language 0.02% CSS 0.01%
aws serverless awssam

serverless-patterns's Introduction

AWS serverless patterns

This repo contains serverless patterns showing how to integrate services using infrastructure-as-code (IaC). You can use these patterns to help develop your own projects quickly.

Important: this application uses various AWS services and there are costs associated with these services after the Free Tier usage - please see the AWS Pricing page for details. You are responsible for any AWS costs incurred. No warranty is implied in this example.

Requirements

  • AWS CLI already configured with Administrator permission

Deployment Instructions

  1. Create an AWS account if you do not already have one and login.

  2. Install Git and install the AWS Serverless Application Model CLI on your local machine.

  3. Create a new directory and navigate to that directory in a terminal.

  4. Clone this repo

git clone https://github.com/aws-samples/serverless-patterns

Each subdirectory contains additional installation and usage instructions.

Ownership

This project is owned, managed, and maintained by the AWS Serverless Developer Advocacy team, consisting of James Beswick, Dave Boyne, Eric Johnson, Ben Smith, Marcia Villalba, and Julian Wood. To contact us, raise an issue on this repo.


Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.

SPDX-License-Identifier: MIT-0

serverless-patterns's People

Contributors

amigitamz avatar ankushjain358 avatar awsarippa avatar bfreiberg avatar boyney123 avatar cornelcroi avatar dependabot[bot] avatar dmitrygulin avatar ejschaefer avatar ellisms avatar floresmaya avatar gadavis2 avatar glennchia avatar jbesw avatar julianwood avatar kimiayahyazadeh avatar majdsoufan avatar manikandanks2000 avatar mavi888 avatar mohamadsoufan avatar mridehalgh avatar mtliendo avatar parikhudit avatar pdineshbalaaji avatar pputhran avatar pubudusj avatar singledigit avatar smonaghan avatar srcsakthivel avatar vaibhavjainv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

serverless-patterns's Issues

New pattern submission s3-sqs-lambda

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create an S3 bucket that sends notifications for created objects to an SQS queue that triggers a lambda function that resizes the image and uploads it to another S3 bucket

s3-sqs-lambda

Language: (optional e.g. "Python", if you have a Lambda function in your example)

NodeJS

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

S3 to Lambda through SQS

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This is an update to the s3-lambda pattern, for busy applications with high throughput to s3 buckets. Using SQS between S3 and Lambda enables scale by retaining the events in the SQS queue and throttling it for downstream services.

Deployment commands

  1. Create a new directory, navigate to that directory in a terminal and clone the GitHub repository:
    git clone https://github.com/aws-samples/serverless-patterns
  2. Change directory to the pattern directory:
    cd s3-sqs-lambda
  3. Install dependencies
    npm --prefix ./src install ./src
  4. From the command line, use AWS SAM to build and deploy the AWS resources for the pattern as specified in the template.yml file:
    sam build
    sam deploy --guided
  5. During the prompts:
    • Enter a stack name
    • Enter a source bucket name
    • Enter a destination bucket name
    • Enter a queue name
    • Enter the desired AWS Region
    • Allow SAM CLI to create IAM roles with the required permissions.

GitHub PR for template:

#28

Payload example (e.g. Lambda event payload from source service).

{
    "Records": [
        {
            "messageId": "239496d6-987e-4631-bb0c-9ee00c1243a3",
            "receiptHandle": "AQEBBY2n5vRQWUo4WaTIb/0zUVANEo+ygKvLGenR0DQVHUL3efjE8l2NcObReeQbVozl6gSy9jvzHlcC8i9NycYM+/8YhxHpt6J5nstcUaJLh3+oEV9Eof0qMzqiecvb31ZJwkQAUXAQPLwpXgnhLHhozZcdBay4TCX+vKaDCcVP0P0G30MnD4FwYuT/wAqtq34KOEV9vZP9QG7TrCkQ/5ryerd/8ymkrvNlFW94SmZ0i8yi/j98zB4l151DFNdqmSt9f3H8AucdSwW3WOMNtvKedIoEXyL65kKAnnRtFrMhdw3oCrFgPhyLGQDL3AGJcuJHVeRYwZzk+/q5fFCcl6QRyNWnKgzc2oSqfWC0RRjcOtEGv09yVFZ+iOp0L1P1WKxBZEnB3VKbxY5GjN84O0ZAS6OR6cxZgyaoZ4rtJGJE5mk=",
            "body": "{\"Records\":[{\"eventVersion\":\"2.1\",\"eventSource\":\"aws:s3\",\"awsRegion\":\"eu-west-1\",\"eventTime\":\"2021-04-07T06:14:04.778Z\",\"eventName\":\"ObjectCreated:Put\",\"userIdentity\":{\"principalId\":\"A2ZDMGT5VFDF6M\"},\"requestParameters\":{\"sourceIPAddress\":\"176.27.106.101\"},\"responseElements\":{\"x-amz-request-id\":\"P1VGF5JWZMW8RR2X\",\"x-amz-id-2\":\"HUB/BNDVJZrlNyUmGs7/ZBj4TISouA+H0FcRvv2hH8E9cik3xwcSsOLmpY47mFM4pc6kBq2aRzapdQXwIQoAYvl1MEK32GAe\"},\"s3\":{\"s3SchemaVersion\":\"1.0\",\"configurationId\":\"7b5a53f8-7d1f-42ec-91aa-24639104169d\",\"bucket\":{\"name\":\"sam-app-s3-lambda-source-bucket\",\"ownerIdentity\":{\"principalId\":\"A2ZD87DEWCGF6M\"},\"arn\":\"arn:aws:s3:::sam-app-s3-lambda-source-bucket\"},\"object\":{\"key\":\"img-ui-cdgsx.jpg\",\"size\":39750,\"eTag\":\"de58b5901607f5dbcf05887673f066c9\",\"sequencer\":\"00606D4VB143BF9560\"}}}]}",
            "attributes": {
                "ApproximateReceiveCount": "12",
                "SentTimestamp": "1617776050200",
                "SenderId": "AIDAJQOC3SADRY5FRGCHS",
                "ApproximateFirstReceiveTimestamp": "1617776050200"
            },
            "messageAttributes": {},
            "md5OfBody": "d2d36a233c286f987523768f5bdf2a10",
            "eventSource": "aws:sqs",
            "eventSourceARN": "arn:aws:sqs:eu-west-1:482783742093:sam-app-s3-lambda-resizer-queue",
            "awsRegion": "eu-west-1"
        }
    ]
}

Additional resources (optional: link and anchor text, up to 5 resources)

https://aws.amazon.com/blogs/compute/building-scalable-serverless-applications-with-amazon-s3-and-aws-lambda/

Author bio

Name: Ahmed Mohamed
Photo URL: https://www.me2resh.com/assets/img/me2resh.jpeg
Twitter handle: me2resh
Description (up to 255 chars): I am a Principal Software Engineer, Solutions Architect and Serverless Enthusiast. I spend my time learning new stuff and building large scale clinical solutions in the cloud.

New pattern submission: HTTP API Gateway to EventBridge in CDK

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create an HTTP API Gateway that sends events to EventBridge.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Node.js

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

HTTP API Gateway to EventBridge

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

The CDK project creates an Amazon API gateway HTTP API endpoint. The endpoint uses service integrations to directly connect to Amazon EventBridge. An EventBridge rule sends all events to Cloudwatch Logs

Deployment commands

cdk deploy

GitHub PR for template:

#90

Payload example (e.g. Lambda event payload from source service).

curl --location --request POST '<your api endpoint>' --header 'Content-Type: application/json' \
--data-raw '{
    "Detail":{
        "message": "This is my test"
    }
}'

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Hugo Sterin
Photo URL:
Twitter handle: hsterin
Description (up to 255 chars): Solutions Architect @ AWS

New pattern submission: Amazon Public (or private) API Gateway to Private API Gateway integration

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Amazon Public (or private) API Gateway to Private API Gateway integration

Language: (optional e.g. "Python", if you have a Lambda function in your example)

TypeScript

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

Public API Gateway to Private (VPC) API Gateway

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern in CDK offers an example to create
a. Amazon API Gateway with a GET / api which invokes private API gateway backed by lambda
b. Private API endpoint with a greedy proxy ("{proxy+}") and "ANY" method from the specified path, meaning it will accept by default any method and any path. The VPC Lambda function provided in JavaScript only returns the path
c. To make the connection possible following resources are also created
i. VPC Endpoint for execute-api in your VPC
ii. ELB target group using the private IPs created for each AZ as part of the VPC endpoint creation for TCP 443
iii. Private NLB listening on TCP 443 configured to use the target group
iv. VPC link in API Gateway linking NLB created above

Deployment commands

npx cdk bootstrap aws://accountnumber/region
npx cdk deploy --app 'ts-node .' --all

GitHub PR for template:

PR 103

Payload example (e.g. Lambda event payload from source service).

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Rajneesh Ranjan
Photo URL: https://github.com/rajneeshr
Twitter handle:
Description (up to 255 chars): Rajneesh works at AWS Professional Services and is a Serverless and Container enthusiast.

Name: Britney Tong
Photo URL: https://avatars.githubusercontent.com/u/8812922?s=400&u=2b2d05ff8a3d21147a16fb6a50e3d3a1707822b2&v=4
Twitter handle:
Description (up to 255 chars): Britney is an Professional Service and a Serverless enthusiast at Amazon Web Services based in Austin, US. Prior to joining AWS Britney worked in a number of different technical roles specializing in IoT integration, workflow Automation, and Platform as a Service (PaaS).

New pattern submission - AppSync to StepFunctions (Synchronous Express Workflows)

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This project contains a sample AWS CDK template for running Step Functions synchronous express workflows from an AppSync API.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Node.js

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

AppSync to StepFunctions (Synchronous Express Workflow)

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This project contains a sample AWS CDK template which will create an AppSync API and State Machine for Express Workflows. The state machine will be added as an HTTP Data Source for AppSync API and the API will be granted permissions to make StartSyncExecution API call.

Deployment commands

cdk deploy

GitHub PR for template:

#98

Payload example (e.g. Lambda event payload from source service).

Additional resources (optional: link and anchor text, up to 5 resources)

HTTP Resolvers - https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-http-resolvers.html
Synchronous Express Workflows - https://aws.amazon.com/blogs/compute/new-synchronous-express-workflows-for-aws-step-functions/

Author bio

Name: Ami Patel
Photo URL: https://appsync-patterns-serverless.s3.amazonaws.com/author_image.png
Twitter handle: @AmiPatel73
Description (up to 255 chars): Cloud Application Architect @ AWS

New pattern submission - Lambda to SES

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This SAM template creates a Lambda function that sends an email with Amazon SES

Language: (optional e.g. "Python", if you have a Lambda function in your example)

nodejs

YouTube videoId (optional e.g. "VI79XQW4dIM")

none

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

Lambda to SES

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

Utilizing Lambda to send an email with Amazon SES.
Permissions required:
'ses:SendEmail'
'ses:SendRawEmail'
Resource ARN should be provided of the individual email address that is verified by Amazon SES

Deployment commands

sam deploy --guided

GitHub PR for template:

#54

Payload example (e.g. Lambda event payload from source service).

None

Additional resources (optional: link and anchor text, up to 5 resources)

    Verifying identities in Amazon SES
    https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html

   Moving out of the Amazon SES sandbox
   https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html

Author bio

Name: Curtis Darst
Photo URL: https://pbs.twimg.com/profile_images/1390393791488659458/S_dO1BOE_400x400.jpg
Twitter handle: curtisdarst
Description (up to 255 chars): Curtis is a Solutions Architect for EDU at Amazon Web Services based in the US.

New pattern submission: EventBridge to Step Function

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create a Step Function that triggers on an EventBridge rule.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

n/a

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

EventBridge to Step Function

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

The template creates a shell Step Function, with a CloudWatch log group for error reporting, that triggers on select EC2 instance state changes and branches based on the value.

Deployment commands

sam deploy

GitHub PR for template:

#18

Payload example (e.g. Lambda event payload from source service).

{
  "version": "0",
  "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
  "detail-type": "EC2 Instance State-change Notification",
  "source": "aws.ec2",
  "account": "111122223333",
  "time": "2017-12-22T18:43:48Z",
  "region": "us-west-1",
  "resources": [
    "arn:aws:ec2:us-west-1:123456789012:instance/i-1234567890abcdef0"
  ],
  "detail": {
    "instance-id": " i-1234567890abcdef0",
    "state": "terminated"
  }
}

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Bryson Tyrrell
Photo URL: https://media-exp1.licdn.com/dms/image/C4E03AQFJcTd01L5vXg/profile-displayphoto-shrink_800_800/0/1567693724568?e=1622678400&v=beta&t=STGgHkgH09XmldMv5FZM0PW0-FRmr22F_GfKnl638OA

Twitter handle: bryson3gps
Description (up to 255 chars): Staff Systems Development Engineer at Jamf

Template feedback: eventbridge-lambda

  • Custom event is received, but no eventbus is specified leading the user to use the default eventbus for custom events
  • Inconsistent usage of quotes ( - "prefix": "EUR-")

New pattern submission: HTTP API to Step Function to HTTP API to Step Function

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create an HTTP API that invokes a Step Function that invokes the HTTP API to invoke itself.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

SAM/CloudFormation

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

HTTP API to Step Function to HTTP API to Step Function...

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This template creates an API Gateway HTTP API that invokes a Step Function that invokes the same HTTP API. This pattern demonstrates the HTTP API -> Step Function integration and the Step Function -> HTTP API integration.

Deployment commands

sam deploy

GitHub PR for template:

#49

Payload example (e.g. Lambda event payload from source service).

POST to the API endpoint with an empty body. The ExecuteApi output will provide the full URL to invoke.

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Bryson Tyrrell
Photo URL: https://media-exp1.licdn.com/dms/image/C4E03AQFJcTd01L5vXg/profile-displayphoto-shrink_800_800/0/1567693724568?e=1622678400&v=beta&t=STGgHkgH09XmldMv5FZM0PW0-FRmr22F_GfKnl638OA
Twitter handle: bryson3gps
Description (up to 255 chars): Staff Systems Development Engineer at Jamf, and AWS Community Builders member.

New pattern submission: Step Function to Step Function

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description Create a Step Function that can execute another Step Function

Language: n/a

Framework: SAM

Services from/to "Step Function to Step Function"

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

Demonstrates how to use an AWS Step Functions state machine to launch another state machine execution. The SAM template deploys 2 State Machines, where invoking the "Parent" State Machine executes a "Child" State Machine. The AWS SAM template deploys the resources and the IAM permissions required to run the application. Resources include the 2 State Machines, with CloudWatch Log Groups.

Deployment commands

sam deploy --guided

GitHub PR for template: #115

Payload example: This is included as part of the step function ASL

Author bio

Name: Shehryar Abbasi
Photo URL: https://phonetool.amazon.com/users/shehryaa
Twitter handle: n/a
Description (up to 255 chars): Senior DevOps Cloud Architect at AWS

New pattern submission - apigw-rest-stepfunction

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create an API Gateway REST endpoint that starts a Step Functions execution.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

API Gateway REST to Step Functions

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This SAM template creates a API Gateway REST endpoint that uses an IAM role with StartExecution permissions on a Step Function deployed by the same SAM template. The Step Function persists information received as input from the API Gateway to a DynamoDB table. An IAM role is used to guarantee write permissions only to the Step Function.

Deployment commands

sam deploy --guided

GitHub PR for template:

#81

Payload example (e.g. Lambda event payload from source service).

    {
      "Id": "4f30bb61-39bc-47f2-91c6-a7dba009f919",
      "StartTimestamp": "2021-06-25T17:47:00Z"
    }

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Tiago Barbosa
Photo URL: https://avatars.githubusercontent.com/u/2689939
Twitter handle: t1agob
Description (up to 255 chars): Tiago is a Senior Specialist Solutions Architect on the Developer Acceleration team (DevAx) at Amazon Web Services. Passionate Application Developer. ex-Microsoft.

Api Gateway HTTP -> Lambda function -> Rds Proxy -> Rds Auroa(Mysql)

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Sets up API Gateway HTTP API Endpoint with AWS Lambda function as integration. Lambda function integrates with RDS Proxy to query relation database RDS Aurora(MySql).

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Python

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

Api Gateway HTTP API to Lambda function to RDS Proxy

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

Pattern will setup up API Gateway HTTP API Endpoint with AWS Lambda function as integration. Lambda function integrates with RDS Proxy to query relation database RDS Aurora(MySql). RDS Proxy should force IAM authentication.

Pattern assumes that user already has RDS Proxy setup with RDS Aurora{MySQL) and force IAM auth enabled. We optionally provide separate cloud-formation template to set up RDS Proxy and RDS Aurora cluster if user does not have it setup already.

Deployment commands

  sam build
  sam deploy --guided

GitHub PR for template:

#109

Payload example (e.g. Lambda event payload from source service).

Standard API gateway HTTP API V2 Payload

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Pankaj Agrawal
Photo URL: https://media-exp1.licdn.com/dms/image/C4E03AQFTt29XJeYxZw/profile-displayphoto-shrink_800_800/0/1629967199912?e=1635379200&v=beta&t=pmvUlKpf2by8y5a96qw3UjRn-TP2xnLMSE2ID7ovB74
Twitter handle: https://twitter.com/agrawalpankaj16
Description (up to 255 chars): Pankaj is a Solutions Architect at AWS, where he works with different customers across Nordics, helping them to make best use of AWS services and accelerate their journey to cloud. In his spare time, he enjoys running into the woods and loves to learn new technical skills. He is quite passionate about DevOps and Serverless technologies.

New pattern submission - lambda-ssm-parameter

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This pattern creates an AWS Lambda function and an AWS Systems Manager Parameter Store parameter.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Node.js

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

Lambda to SSM Parameter Store

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern creates an AWS Lambda function and an AWS Systems Manager Parameter Store parameter. The parameter is added as a function environment variable named "SSMParameterName". The function execution role only allows Get and Put actions on the parameter. The function supports a JSON event in the following format:

{
  "method": "{GET || PUT}",
  "body": "{NewParameterValue}"
}

The method can be either GET (retrieve current parameter value) or PUT (update parameter with new value). The body of the event is used to define the new value of the parameter.

Deployment commands

sam deploy --guided

GitHub PR for template:

#20

Payload example (e.g. Lambda event payload from source service).

See "events" folder for sample events.

{
  "method": "PUT",
  "body": "{\"key1\":\"value1\", \"key2\":\"value2\"}"
}

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Greg Davis
Photo URL: http://gregdavis.me or image
Twitter handle: n/a
Description (up to 255 chars): I am a Senior Solutions Architect, AWS Cloud Architect, Full-Stack Developer, Database Engineer, Data Integration Architect, and Serverless Enthusiast.

AppSync to SNS

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create an AppSync GraphQl API that sends messages to an SNS topic

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Node.js

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

AppSync to SNS

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

The CDK template creates an AppSync API with an Amazon SNS as HTTP data source. An SNS topic is created, along with an IAM role that provides the AppSync API permission to publish messages to that specific topic. Using the publish query, you can add a message to the topic.

Deployment commands

cdk deploy

GitHub PR for template:

#77

Payload example (e.g. Lambda event payload from source service).

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Brice Pellé
Photo URL: https://github.com/onlybakam.png
Twitter handle: @bricepelle
Description (up to 255 chars): Principal Solution Architect, AppSync - AWS

New pattern submission - cdk-eventbridge-stepfunction

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Creates an EventBridge Event Bus that triggers a Step Function execution.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

TypeScript

YouTube videoId (optional e.g. "VI79XQW4dIM")

N/A

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

EventBridge to Step Functions

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern creates an EventBridge Event Bus, a Step Function, and subscribes the Step Function to be executed when a StartReminder event is published to the newly created EventBridge Event Bus. The Step Function waits until the specified date before publishing a Reminder event to the EventBus using a TypeScript Lambda Function.

This pattern will create an IAM Role for the Lambda function that gives it permission to send to an EventBridge event bus that is created as part of the template. The Step Function service will also be given permission to subscribe to EventBridge events on the newly created event bus.

Deployment commands

npx cdk deploy

GitHub PR for template:

See #40

Payload example (e.g. Lambda event payload from source service).

The EventBridge payload has one required field containing an ISO formatted date string:

{
  "at": "2021-04-26T19:00:00Z"
}

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Adrian Hesketh
Photo URL: https://adrianhesketh.com/profile.jpg
Twitter handle: adrianhesketh
Description (up to 255 chars): Adrian Hesketh works at Infinity Works in the UK, helping organisations with digital transformation and service delivery.

New pattern submission

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Language: (optional e.g. "Python", if you have a Lambda function in your example)

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

Services from/to (e.g. "Lambda to EventBridge)

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

Deployment commands

GitHub PR for template:

Payload example (e.g. Lambda event payload from source service).

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name:
Photo URL:
Twitter handle:
Description (up to 255 chars):

New pattern submission: Create a Lambda function that triggers an AppSync GraphQL API

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create a Lambda function that triggers an AppSync GraphQL API.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

NodeJS

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

Lambda to AppSync

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

In this pattern, AWS AppSync provides a a schema that allows you to manage and read todos. A Lambda function is implemented that can interact with the GraphQL API. This function can create todos by using the codegen generated from the schema by the Amplify CLI codegen. The codegen provides the operations and the variable types, which makes it simple to interact with the AppSync GraphQL API from the Typescript function. This pattern is useful in event driven design that trigger your AppSync function from the backend. Those changes can they easily be reflected on front-end clients in real time by using AppSync subscriptions.

Deployment commands

cdk deploy

GitHub PR for template:

#92

Payload example (e.g. Lambda event payload from source service).

Additional resources (optional: link and anchor text, up to 5 resources)

  1. Exporting AppSync operations to a Lambda layer for easy reuse
  2. Simplify access to multiple microservices with AWS AppSync and AWS Amplify
  3. Tutorial: HTTP Resolvers

Author bio

Name: Brice Pellé
Photo URL: https://github.com/onlybakam.png
Twitter handle: @bricepelle
Description (up to 255 chars): Principal Solution Architect, AppSync - AWS

New pattern submission - AppSync Direct Lambda Resolvers

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create an AppSync API with a direct Lambda resolver

Language: (optional e.g. "Python", if you have a Lambda function in your example)

TypeScript

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

AppSync to Lambda

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This CDK application deploys an AppSync API and a Lambda function. Lambda function is added as a data source for the API and the API uses it as a direct Lambda resolver. On querying the AppSync API, AppSync invokes the Lambda function and provides default payload to your Lambda function as well as a default translation from a Lambda function's response to a GraphQL type.

Deployment commands

cdk deploy
See the Github repo for detailed instructions

GitHub PR for template:

#71

Payload example (e.g. Lambda event payload from source service).

{
  "arguments": {
    "id": "1",
    "name": "MyTodo"
  },
  "identity": null,
  "source": null,
  "request": {
    "headers": {
      ......
      ......
    }
  },
  "prev": null,
  "info": {
    "selectionSetList": [
      "id",
      "name"
    ],
    "selectionSetGraphQL": "{\n id\n name\n}",
    "parentTypeName": "Mutation",
    "fieldName": "createTodo",
    "variables": {}
  },
  "stash": {}
}

Additional resources (optional: link and anchor text, up to 5 resources)

[1] Introducing Direct Lambda Resolvers - https://aws.amazon.com/blogs/mobile/appsync-direct-lambda/
[2] Direct Lambda Resolvers mapping template reference - https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference-lambda.html#direct-lambda-resolvers

Author bio

Name: Ami Patel
Photo URL: https://appsync-patterns-serverless.s3.amazonaws.com/author_image.png
Twitter handle: @AmiPatel73
Description (up to 255 chars): Cloud Applications Architect @ AWS

New pattern submission - cdk-cloudfront-to-s3-and-lambda pattern

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create a CloudFront distribution that routes HTTP traffic to a Serverless REST API and S3 bucket.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

TypeScript

YouTube videoId (optional e.g. "VI79XQW4dIM")

Not yet, but I can do a walkthrough.

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

CloudFront to API Gateway / Lambda Functions and S3.

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern deploys a CloudFront distribution and routes HTTP traffic to two backend services based on the URL. Any URLs that have a path beginning with /api/ are routed to an API Gateway which integrates with Lambda Functions which are written in TypeScript. All other traffic is routed to an S3 bucket.

The pattern also includes examples of using Lambda@Edge integrated with CloudFront to implement redirects, and to add CORS headers to API requests.

This pattern will create IAM roles that allow Lambda functions to execute. These are described by CDK during the deployment process.

Deployment commands

npx cdk deploy --all

GitHub PR for template:

#5

Payload example (e.g. Lambda event payload from source service).

The payload is a HTTP request. The Lambda function receives an APIGatewayProxyEventV2 - see https://github.com/DefinitelyTyped/DefinitelyTyped/blob/d14f07228ede33b23717f978c1f395d9570653cf/types/aws-lambda/trigger/api-gateway-proxy.d.ts#L124

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Adrian Hesketh
Photo URL: https://adrianhesketh.com/profile.jpg
Twitter handle: adrianhesketh
Description (up to 255 chars): Adrian Hesketh works at Infinity Works in the UK, helping organisations with digital transformation and service delivery.

New pattern submission: EventBridge to Appsync

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create an Event Bridge Bus that sends events to an AppSync API via a destination.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

NodeJs

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

EventBridge to AppSync

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

In this pattern, AWS AppSync is configured with a a schema to manage and read todos. The pattern uses an event bridge bus and an EventBridge API destination to trigger the AppSync GraphQL updateTodo mutation when an event that matches the defined rule is received. The AppSync API KEY is used as the mode of authorization

Deployment commands

cdk deploy

GitHub PR for template: #99

Payload example (e.g. Lambda event payload from source service).

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Josh Kahn
Photo URL: https://avatars.githubusercontent.com/u/6618?v=4
Twitter handle: jkahn117
Description (up to 255 chars): Josh Kahn is a Principal Solution Architect at AWS

New pattern submission - apigw-http-api-lambda

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This pattern creates an Amazon API Gateway HTTP API and an AWS Lambda function.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Node.js

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

Amazon API Gateway HTTP API to AWS Lambda to Amazon CloudWatch Logs

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern deploys an Amazon API Gateway HTTP API with a default route and basic CORS configuration. The default route is integrated with an AWS Lambda function written in Node.js. The function logs the incoming API event (v2) and context object to an Amazon CloudWatch Logs log group and returns basic information about the event to the caller. The function execution role only requires AWSLambdaBasicExecutionRole. Only the HTTP API can invoke the function.

Deployment commands

  • sam deploy -guided
  • AppName: apigw-http-api-lambda

GitHub PR for template:

#8

Payload example (e.g. Lambda event payload from source service).

HTTP API v2 event

Additional resources (optional: link and anchor text, up to 5 resources)

See documentation links in README.md

Author bio

Name: Greg Davis
Photo URL: http://gregdavis.me or image
Twitter handle: n/a
Description (up to 255 chars): I am a Senior Solutions Architect, AWS Cloud Architect, Full-Stack Developer, Database Engineer, Data Integration Architect, and Serverless Enthusiast.

New pattern submission: Step Function to SNS

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description: Create a Step function that sends messages to SNS.

Language: n/a

Framework: SAM

Services from/to "Step Function to SNS"

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

The SAM template deploys a Step Function workflow, an SNS topic and the IAM permissions required to run the application. The Step Function publishes a message to the SNS topic when invoked.
The AWS SAM template deploys the resources and the IAM permissions required to run the application.

Deployment commands

sam deploy --guided

GitHub PR for template: #107

Payload example (e.g. Lambda event payload from source service).

{"message":"hello"}"

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Jenny Chau
Photo URL: https://phonetool.amazon.com/users/chajenny
Twitter handle: n/a
Description (up to 255 chars): Senior Cloud Architect at AWS.

New pattern submission - sfn-dynamodb

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create an AWS Step Function workflow to integrate with Amazon DynamoDB

Language: (optional e.g. "Python", if you have a Lambda function in your example)

n/a

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

AWS Step Functions to Amazon DynamoDB

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

The SAM template deploys a Step Functions workflow, that takes in a payload and puts the item in DynamoBb. Additionally, this workflow also shows how to read an item directly from the DynamoDB table. The SAM template contains the minimum IAM resources required to run the application.

Deployment commands

sam deploy --guided

GitHub PR for template:

#58

Payload example (e.g. Lambda event payload from source service).

{ "id": "1234567890" }

Note: Test payload is part of the cli command

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Revanth Anireddy
Photo URL: https://twitter.com/revanthreddy/photo
Twitter handle: @revanthreddy
Description (up to 255 chars): Senior Cloud Applications Architect @ AWS.
Swimmer, Artist, Foodie, Movie & Sports trivia enthusiast in my spare time.

New pattern submission - apigw-vpclink-pvt-alb

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This pattern allows integration of public API gateway endpoint to a private Application Load Balancer with an ECS Fargate cluster behind it.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

API Gateway to Private ALB via VPC Link

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern allows integration of public API gateway endpoint to a private Application Load Balancer with an ECS Fargate cluster behind it.
It allows to build a secure pattern without exposing the private subnet resources and can be accessed only via a VPC Link.
The SAM template in this pattern deploys the following resources. It requires a VPC id and private subnet ids as inputs. It is assumed that the VPC and subnets are already configured with the required network routes.

Deployed resources:

  • Requried Security Groups
  • ECS Fargate cluster with service and task definitions
  • Private Application Load Balancer with appropriate listener and target group
  • VPC Link
  • API gateway integration between the API endpoint and the private ALB via the VPC Link

Deployment commands

sam deploy --guided

GitHub PR for template:

#73

Payload example (e.g. Lambda event payload from source service).

Additional resources (optional: link and anchor text, up to 5 resources)

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApiGatewayV2.html
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ECS.html
https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vpc-links.html

Author bio

Name: Bideep Bezbaruah
Photo URL: https://www.linkedin.com/in/bideep/
Twitter handle: https://twitter.com/bideepbezbaruah
Description (up to 255 chars): Principal Architect/Engineer. I have built various distributed systems and cloud architectures, modernized and migrated applications to AWS for multiple large enterprise customers.

New pattern submission - apigw-rest-api-dynamodb

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This pattern creates an Amazon API Gateway REST API that integrates with an Amazon DynamoDB table.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

n/a

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

From API Gateway REST API to DynamoDB

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern creates an Amazon API Gateway REST API that integrates with an Amazon DynamoDB table named "Music". The API includes an API key and usage plan. The DynamoDB table includes a Global Secondary Index named "Artist-Index". The API integrates directly with the DynamoDB API and supports PutItem and Query actions.

The REST API uses an IAM role to provide full access to the specific DynamoDB table and index created by the CloudFormation template.

Deployment commands

sam deploy --guided

GitHub PR for template:

#36

Payload example (e.g. Lambda event payload from source service).

See README.me for more information.

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Greg Davis
Photo URL: http://gregdavis.me
Twitter handle: n/a
Description (up to 255 chars): I am a Senior Solutions Architect, AWS Cloud Architect, Full-Stack Developer, Database Engineer, Data Integration Architect, and Serverless Enthusiast.

New pattern submission - sfn-eventbridge

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This pattern creates a Step Functions workflow that publishes events to EventBridge.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

Step Functions to EventBridge

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

The AWS SAM template deploys a Step Functions workflow that publishes an event to an EventBridge event bus. An IAM Role allows the workflow execution to publish events onto the event bus. An EventBridge rule forwards all events to a CloudWatch Logs log group for easy inspection.

Deployment commands

sam deploy --guided

GitHub PR for template:

#63

Payload example (e.g. Lambda event payload from source service).

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: David Maccarone
Photo URL: https://avatars.githubusercontent.com/u/5736100?v=4
Twitter handle:
Description (up to 255 chars): Senior Solutions Architect at Amazon Web Services

lamba-s3-sfn

Description

Create a Lambda function that stores payload and starts an Express Workflow

Language:

Javascript

Framework

SAM

Services from/to

Lambda to S3 to Step Functions

Description

  • SavePayloadAndStartStateMachineFunction lambda function with a "payload" string in the input payload
    • Needs permissions provided by S3CrudPolicy to write to S3 bucket
    • Needs permissions provided by StepFunctionsExecutionPolicy (no express policy so have to manually update the role JSON post deployment 😢 )
  • SavePayloadAndStartStateMachineFunction stores the payload in S3 and starts an Express Workflow passing the bucket and key
    • Step Functions Needs permissions provided by LambdaInvokePolicies to invoke lambdas
  • Express Workflow calls the ProcessFileFunction, function retrieves uploaded JSON the using the bucket/key, converts to uppercase and returns it
    • Needs permissions provided by S3ReadPolicy to read from S3 bucket
  • Express Workflow calls the AddFooterFunction, function adds a footer and returns it
  • Express Workflow ends and returns the result to the client

Deployment commands

sam deploy -g

GitHub PR for template:

#38

Payload example (can be bigger than task input limit of 262KB)

{ "payload": "hello world"}

Additional resources

Author bio

Name: Alper Sunar
Photo URL:
Twitter handle: @asunar
Description (up to 255 chars): Pretends to be an architect

New pattern submission - msk-lambda

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create a Lambda function that uses an Amazon MSK topic as an event source

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Nodejs 12.x

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

MSK to Lambda

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

Lambda is a consumer application for your Kafka topic. It processes records from one or more partitions and sends the payload to the target function. Lambda continues to process batches until there are no more messages in the topic.

Lambda internally polls for new messages from the event source and then synchronously invokes the target Lambda function. Lambda reads the messages in batches and provides these to your function as an event payload. The maximum batch size is configurable. (The default is 100 messages.)

The SAM template creates a Lambda Function that uses a AWSLambdaMSKExecutionRole IAM role to poll a certain topic within a certain MSK Stream as defined as the Event source in the template.

Deployment commands

sam deploy --guided

GitHub PR for template:

#83

Payload example (e.g. Lambda event payload from source service).

{   "eventSource": "aws:kafka",
    "eventSourceArn": "arn:aws:kafka:sa-east-1:123456789012:cluster/vpc-2priv-2pub/751d2973-a626-431c-9d4e-d7975eb44dd7-2",
    "records": {
      "mytopic-0": [
          {
            "topic": "mytopic"
            "partition": "0",
            "offset": 15,
            "timestamp": 1545084650987,
            "timestampType": "CREATE_TIME",
            "value": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==",
          }
      ]
    }
}

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Parnab Basak
Photo URL: https://avatars.githubusercontent.com/u/18371977?v=4
Twitter handle: @ParnabBasak
Description (up to 255 chars): Parnab is a Solutions Architect for the Service Creation team in AWS. He specializes in creating net new solutions that are cloud native using modern s/w dev practices like Serverless, DevOps & Analytics

AppSync to SQS

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create an AppSync GraphQl API that sends messages to an SQS queue

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Node.js

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

AppSync to SQS

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

The CDK template creates an AppSync API with an Amazon SQS as HTTP data source. An SQS queue is created, along with an IAM role that provides the AppSync API permission to send messages to that specific queue. Using the sendMessage query, you can add a message to the queue.

Deployment commands

cdk deploy

GitHub PR for template:

#79

Payload example (e.g. Lambda event payload from source service).

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Brice Pellé
Photo URL: https://github.com/onlybakam.png
Twitter handle: @bricepelle
Description (up to 255 chars): Principal Solution Architect, AppSync - AWS

New serverless pattern - REST API to Event Bridge

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create a REST API that can put events to EventBridge

Language: (optional e.g. "Python", if you have a Lambda function in your example)

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

API Gateway to EventBridge

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This template creates an API Gateway REST API that puts an event to Amazon EventBridge. This pattern addresses some nuances with defining the VTL template mapping when integrating with EventBridge. An IAM permission for putting events to EventBridge is created for API Gateway.

Deployment commands

sam deploy

GitHub PR for template:

Payload example (e.g. Lambda event payload from source service).

{"items":[
{
"Detail":"{"data":"1234343"}",
"DetailType":"Test",
"Source":"Test"
}
]
}

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Uma Ramadoss
Photo URL:
Twitter handle:
Description (up to 255 chars):

New pattern submission - private API Gateway

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Configure Amazon API Gateway Private API endpoint with VPC Lambda

Language: (optional e.g. "Python", if you have a Lambda function in your example)

TypeScript

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

Private API Gateway to VPC Lambda

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern in CDK offers a example to generate an Amazon API Gateway Private API endpoint with a greedy proxy ("{proxy+}") and "ANY" method from the specified path, meaning it will accept by default any method and any path. The VPC Lambda function provided in JavaScript only returns the path.

Deployment commands

npx cdk bootstrap aws://accountnumber/region
npx cdk deploy --app 'ts-node .' --all

GitHub PR for template:

#87

Payload example (e.g. Lambda event payload from source service).

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Rajneesh Ranjan
Photo URL: https://github.com/rajneeshr
Twitter handle:
Description (up to 255 chars): Rajneesh works at AWS Professional Services and is a Serverless and Container enthusiast.

Name: Britney Tong
Photo URL: https://avatars.githubusercontent.com/u/8812922?s=400&u=2b2d05ff8a3d21147a16fb6a50e3d3a1707822b2&v=4
Twitter handle:
Description (up to 255 chars): Britney is an Professional Service and a Serverless enthusiast at Amazon Web Services based in Austin, US. Prior to joining AWS Britney worked in a number of different technical roles specializing in IoT integration, workflow Automation, and Platform as a Service (PaaS).

Amazon API Gateway WebSocket API and an AWS Lambda function

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This pattern creates an Amazon API Gateway WebSocket API and an AWS Lambda function.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

JavaScript

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

Amazon API Gateway WebSocket API to AWS Lambda

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern deploys an Amazon API Gateway WebSocket API with a $connect route, a $disconnect route and a custom route. The $connect route invokes an AWS Lambda function to record the WebSocket's connection ID to a DynamoDB table. The custom route is integrated with an AWS Lambda function written in Node.js which returns back the contents of the "data" node of a JSON object within the request's body. The $disconnect route invokes an AWS function to remove the connection ID from the DynamoDB table when the WebSocket connection is closed.

Deployment commands

  1. Create a new directory, navigate to that directory in a terminal and clone the GitHub repository:

    git clone https://github.com/aws-samples/serverless-patterns
  2. Change directory to the pattern directory:

    cd apigw-websocket-api-lambda
  3. From the command line, use AWS SAM to deploy the AWS resources for the pattern as specified in the template.yml file:

    sam deploy --guided
  4. During the prompts:

    • Enter a stack name
    • Enter the desired AWS Region
    • Allow SAM CLI to create IAM roles with the required permissions.

    Once you have run sam deploy -guided mode once and saved arguments to a configuration file (samconfig.toml), you can use sam deploy in future to use these defaults.

  5. Note the outputs from the SAM deployment process. These contain the resource names and/or ARNs which are used for testing.

GitHub PR for template:

#48

Payload example (e.g. Lambda event payload from source service).

{
    "action" : "post", 
    "data" : "hello world"
}

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Joe Tringali
Photo URL: https://twitter.com/joet_w1gio/photo
Twitter handle: https://twitter.com/joet_w1gio
Description (up to 255 chars): Joe is a Solutions Architect with the Northeast Greenfield team at Amazon Web Services and a Serverless enthusiast.

AppSync to EventBridge

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This project contains CDK template for deploying an Amazon EventBridge event bus as a HTTP data source with an AWS AppSync API.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Node.js

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

CDK

Services from/to (e.g. "Lambda to EventBridge)

AppSync to EventBridge

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

The given CDK template creates an AppSync API with an Amazon EventBridge event bus as a HTTP data source and an IAM role that provides the AppSync API permission to make PutEvents call to the event bus along with. Using the PutEvent mutation, you can add events to the event bus.

Deployment commands

cdk deploy

GitHub PR for template:

#76

Payload example (e.g. Lambda event payload from source service).

Additional resources (optional: link and anchor text, up to 5 resources)

https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-http-resolvers.html

Author bio

Name: Ami Patel
Photo URL: https://appsync-patterns-serverless.s3.amazonaws.com/author_image.png
Twitter handle: @AmiPatel73
Description (up to 255 chars): Cloud Applications Architect @ AWS

Circular Dependency Issue

I am getting following error while running stack for apigw-sqs-lambda

ex: Waiter ChangeSetCreateComplete failed: Waiter encountered a terminal failure state: For expression "Status" we matched expected path: "FAILED" Status: FAILED. Reason: Circular dependency between resources: [MyHttpApiApiGatewayDefaultStage, MyHttpApi, MyHttpApiRole]

New pattern submission - s3-object-lambda

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

To learn more about submitting a pattern, read the publishing guidelines page.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Amazon S3 with S3 Object Lambda

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Node.js

YouTube videoId (optional e.g. "VI79XQW4dIM")

n/a

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

S3 via S3 Object Lambda Access Point to Lambda

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

The SAM template deploys a Lambda function, an S3 bucket, an S3 Access Point, and an S3 Object Lambda Access Point. This application uses S3 Object Lambda to return a thumbnail version of an image in S3. The Lambda function execution role has CRUD access to the S3 bucket and s3-object-lambda:WriteGetObjectResponse.

Deployment commands

sam deploy --guided

GitHub PR for template:

#116

Payload example (e.g. Lambda event payload from source service).

No sample payload is required, two example images are available.

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Greg Davis
Photo URL/LinkedIn: https://www.linkedin.com/in/gregtx/
Twitter handle: n/a
Description (up to 255 chars): I am a Senior Solutions Architect, AWS Cloud Architect, Full-Stack Developer, Database Engineer, Data Integration Architect, and Serverless Enthusiast.

Amazon SNS to AWS Lambda - SNS topic would not trigger Lambda

The lambda-sns code: A new message published to SNS topic did not trigger Lambda function.

The manual fix works: I have to go to the AWS console, go to that Lambda function, and manually add that topic via "Add Trigger" for that Lambda function.

I tried to follow the SQS sample here to add SNS as Events (there is no SAM template sample in that document):
https://docs.aws.amazon.com/lambda/latest/dg/with-sqs-example-use-app-spec.html

Events:
    MyNotification:
      Type: SNS
      Properties:
        Topic: !GetAtt MySnsTopic.Arn
        TopicName: !GetAtt MySnsTopic.TopicName

That did not add SNS topic as trigger (as shown on AWS console) and it is not working either.

Here is my SAM CLI version:
SAM CLI, version 1.24.1

New pattern submission - apigw-http-api-SQS-Lambda

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

AWS API Gateway HTTP APIs to Lambda Function through Amazon SQS Queue for buffering

Language: (optional e.g. "Python", if you have a Lambda function in your example)

NodeJs 12

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

API Gateway to Lambda through SQS

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

In this pattern, called "Queue based leveling", a serverless queue is introduced between your API Gateway and your workers -Lambda function in our case. The introduced queue acts as a buffer to alleviate spike concerns and make sure your BE application can sustain the load that is coming in by buffering all the requests and not loosing them.�It also gives the benefit to your downstream consumers to process the incoming requests at their own pace.

Deployment commands

  • sam deploy --guided
  • AppName: apigw-sqs-lambda

GitHub PR for template:

#14

Payload example (e.g. Lambda event payload from source service).

https://github.com/awsdocs/aws-lambda-developer-guide/blob/master/sample-apps/nodejs-apig/event-v2.json

Author bio

Name: iLyas Bakouch
Photo URL: https://avatars.githubusercontent.com/u/216867?v=4
Twitter handle: @isbkch
Description (up to 255 chars): Senior Solutions Architect @aws

New pattern submission - sfn-sqs

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create an AWS Step Function workflow to integrate with Amazon SQS.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

n/a

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

AWS Step Function to Amazon SQS

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This SAM template deploys a Step Functions workflow, that takes in a payload and sends part of it to an Amazon SQS. In this pattern, the state machine DOES NOT WAIT for a callback from the queue.

Deployment commands

sam deploy --guided

GitHub PR for template:

#51

Payload example (e.g. Lambda event payload from source service).

{ "message": { "hello" : "world" } }

Note: Test payload is part of the cli command

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Revanth Anireddy
Photo URL: https://twitter.com/revanthreddy/photo
Twitter handle: @revanthreddy
Description (up to 255 chars): Senior Cloud Applications Architect @ AWS.
Swimmer, Artist, Foodie, Movie & Sports trivia enthusiast in my spare time.

New serverless pattern - cfn-custom-resource-s3-create

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This pattern creates an Amazon S3 object by using an AWS CloudFormation custom resource and an AWS Lambda function.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Node.js

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

CloudFormation to new S3 object (via Lambda custom resource).

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern creates an Amazon S3 object by using an AWS CloudFormation custom resource and an AWS Lambda function. Custom resources enable you to write custom provisioning logic in templates that CloudFormation runs anytime you create, update (if you changed the custom resource), or delete stacks.

This pattern deploys a Lambda function that is responsible for creating (and deleting) S3 objects. The function is given CRUD permissions on objects in the S3 bucket. When the stack is first created, CloudFormation sends a create request to the function. When the stack is deleted, CloudFormation sends a delete request to the function. The function ARN is stored as a CloudFormation Export named "function-s3-create". The function requires the following resource properties:

  • Bucket: The name of the S3 bucket where the object will be located.
  • Key: The name of the S3 object (eg: index.html).
  • ContentType: The content type of the S3 object (eg: application/json, text/css, text/html, text/plain).
  • Body: The content of the S3 object.

The template includes a CloudFormation custom resource with a ServiceToken that references the Lambda function ARN. The custom resource provides the function with the required properties to create a new S3 object.

Deployment commands

sam deploy --guided

GitHub PR for template:

#56

Payload example (e.g. Lambda event payload from source service).

N/A

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Greg Davis
Photo URL: http://gregdavis.me
Twitter handle: n/a
Description (up to 255 chars): I am a Senior Solutions Architect, AWS Cloud Architect, Full-Stack Developer, Database Engineer, Data Integration Architect, and Serverless Enthusiast.

apigw-http-api-eventbridge this template doesn't push event to default bridge

apigw-http-api-eventbridge this template doesn't push event to default bridge , though http api is working fine.

It seems there is some issue in IAM Role which has been configured or can you help me how to check the integration logs.

I have added the logs in http api resource, but it doesn't show integration logs (http api to event bridge)

Template feedback: apigw-sfn

  • Inconsistent use of Fn::GetAtt and !GetAtt
  • Make use of the AWS::Serverless::StateMachine transform and move policy from StatesExecutionRole to the Policies array:
StateMachineExpressSync:
   Type: AWS::Serverless::StateMachine # More info about State Machine Resource: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.html
   Properties:
     DefinitionUri: statemachine/StateMachine.asl.json
     Policies:
        -  Version: "2012-10-17"
           Statement:
             - Effect: Allow
               Action:
                 - "cloudwatch:*"
                 - "logs:*"
               Resource: "*"
    ...

New pattern submission - lambda-ssm-parameter

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This pattern creates an AWS Lambda function and an AWS Systems Manager Parameter Store parameter.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Node.js

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

Lambda to SSM Parameter Store

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern creates an AWS Lambda function and an AWS Systems Manager Parameter Store parameter. The parameter is added as a function environment variable named "SSMParameterName". The function execution role only allows Get and Put actions on the parameter. The function supports a JSON event in the following format:

{
  "method": "{GET || PUT}",
  "body": "{NewParameterValue}"
}

The method can be either GET (retrieve current parameter value) or PUT (update parameter with new value). The body of the event is used to define the new value of the parameter.

Deployment commands

sam deploy --guided

GitHub PR for template:

#31

Payload example (e.g. Lambda event payload from source service).

See "events" folder for sample events.

{
  "method": "PUT",
  "body": "{\"key1\":\"value1\", \"key2\":\"value2\"}"
}

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Greg Davis
Photo URL: http://gregdavis.me
Twitter handle: n/a
Description (up to 255 chars): I am a Senior Solutions Architect, AWS Cloud Architect, Full-Stack Developer, Database Engineer, Data Integration Architect, and Serverless Enthusiast.

Api Gateway to Lambda to Rds Proxy to RDS Postgres Instance

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

🚧 This is a work in progress.
🚧 I am creating this ticket so I can document my journey for submission.
🚧 I will update as I go

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

Create API Endpoints to a Lambda function that queries a Postgres database on RDS

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Python

YouTube videoId (optional e.g. "VI79XQW4dIM")

[WIP]

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

API Gateway to Lambda to Rds Proxy to RDS Postgres Instance

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

[WIP]

Deployment commands

[WIP]

GitHub PR for template:

[WIP]

Payload example (e.g. Lambda event payload from source service).

[WIP]

Additional resources (optional: link and anchor text, up to 5 resources)

[WIP]

Author bio

Name: Andrew Brown
Photo URL: https://pbs.twimg.com/profile_images/1340449423940325380/RZ6J4hDo_400x400.jpg
Twitter handle: @andrewbrown
Description (up to 255 chars): AWS Community Hero from Canada 🇨🇦

New pattern submission - lambda-aurora-serverless

To submit a template to the Serverless Patterns Collection, submit an issue with the following information.

Use the model template located at https://github.com/aws-samples/serverless-patterns/tree/main/_pattern-model to set up a README, template and any associated code.

Description (mid-length e.g. "Create a Lambda function that sends events to EventBridge.")

This pattern creates an AWS Lambda function and an Amazon Aurora Serverless DB cluster with Data API and a Secrets Manager secret.

Language: (optional e.g. "Python", if you have a Lambda function in your example)

Node.js

YouTube videoId (optional e.g. "VI79XQW4dIM")

Framework (currently we support SAM or CDK)

SAM

Services from/to (e.g. "Lambda to EventBridge)

Lambda to Aurora Serverless

Description (this must include a throughout explanation of the pattern together with details of IAM permissioning)

This pattern creates an AWS Lambda function and an Amazon Aurora Serverless DB cluster with Data API and a Secrets Manager secret. The function creates an example table named "music", inserts a row with data from the event object, then returns the results of a select query. The function includes a role with read access to a specific secret in Secrets Manager and to execute a sql statement in a specific Aurora DB cluster.

Deployment commands

sam deploy --guided

GitHub PR for template:

#33

Payload example (e.g. Lambda event payload from source service).

{
  "body": {
    "artist": "The Beatles",
    "album": "Abbey Road"
  }
}

Additional resources (optional: link and anchor text, up to 5 resources)

Author bio

Name: Greg Davis
Photo URL: http://gregdavis.me
Twitter handle: n/a
Description (up to 255 chars): I am a Senior Solutions Architect, AWS Cloud Architect, Full-Stack Developer, Database Engineer, Data Integration Architect, and Serverless Enthusiast.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.