Skip to content

This project demonstrate usage of CloudFormation template for creating a CloudFormation stack comprising of SNS topic, Subscription, Dynamodb table, Lambda persisting event in DynamoDB table and IAM role

License

Notifications You must be signed in to change notification settings

arnitolog/sns-lambda-dynamodb-cloudformation-example

 
 

Repository files navigation

Example CloudFormation Template for creating a CloudFormation stack comprising of SNS topic, Subscription, Dynamodb table, Lambda persisting event in dynamodb table and IAM role

This template creates a CloudFormation stack comprising of -

  • SNS topic
  • Simple Node.js Lambda
  • Dynamodb Table
  • Simple Node.js Lambda persisting event into Dynamodb table
  • Lambda SNS topic subscription
  • IAM Roles and Policies

This template is intended to jump start Lambda development by putting otherwise extensive and fragmented information together. Additional information is available at Shift from Containers to Serverless Computing using AWS Lambda - Part 2

How to run?

Prerequisite : AWS account and AWS CLI

Create a package by running following AWS CLI command

aws cloudformation package --template-file cloudformation-template.yaml --s3-bucket <your-bucket-name> 
    --output-template-file packaged-template.yaml

Create Stack using following command

aws cloudformation deploy --template-file packaged-template.yaml --stack-name <your-stack-name> --capabilities CAPABILITY_IAM

Test

List stack resources using following command

aws cloudformation list-stack-resources --stack-name <your-stack-name>

Please copy SNS topic(AWS::SNS::Topic) ARN (PhysicalResourceId) from list of resources.

Now you can publish a message to SNS topic using following command. Lambda should persist the event in Dynamoddb table.

aws sns publish --topic-arn <your-sns-topic-arn> --message '{"name": "Foo", "iban": "NL38FRBK0292964727"}'

About

This project demonstrate usage of CloudFormation template for creating a CloudFormation stack comprising of SNS topic, Subscription, Dynamodb table, Lambda persisting event in DynamoDB table and IAM role

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 74.2%
  • Shell 25.8%