{"id":22492588,"url":"https://github.com/garystafford/serverless-sqs-dynamo-demo","last_synced_at":"2026-03-03T19:01:22.656Z","repository":{"id":46374468,"uuid":"203585230","full_name":"garystafford/serverless-sqs-dynamo-demo","owner":"garystafford","description":"Event-driven, Serverless Architectures with AWS Lambda, SQS, DynamoDB, and API Gateway","archived":false,"fork":false,"pushed_at":"2021-07-15T12:25:29.000Z","size":43047,"stargazers_count":34,"open_issues_count":2,"forks_count":22,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-08-05T02:22:56.726Z","etag":null,"topics":["aws","dynamodb","event-driven","lambda","s3","serverless","sqs"],"latest_commit_sha":null,"homepage":"https://wp.me/p1RD28-6ta","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/garystafford.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-21T13:01:12.000Z","updated_at":"2023-08-05T02:22:56.726Z","dependencies_parsed_at":"2022-07-19T22:04:57.061Z","dependency_job_id":null,"html_url":"https://github.com/garystafford/serverless-sqs-dynamo-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/garystafford/serverless-sqs-dynamo-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garystafford%2Fserverless-sqs-dynamo-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garystafford%2Fserverless-sqs-dynamo-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garystafford%2Fserverless-sqs-dynamo-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garystafford%2Fserverless-sqs-dynamo-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/garystafford","download_url":"https://codeload.github.com/garystafford/serverless-sqs-dynamo-demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garystafford%2Fserverless-sqs-dynamo-demo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263617728,"owners_count":23489529,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","dynamodb","event-driven","lambda","s3","serverless","sqs"],"created_at":"2024-12-06T18:19:11.256Z","updated_at":"2026-03-03T19:01:17.614Z","avatar_url":"https://github.com/garystafford.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Event-driven, Serverless Architectures with AWS Lambda, SQS, DynamoDB, and API Gateway\n\nProject files for the post, [Event-driven, Serverless Architectures with AWS Lambda, SQS, DynamoDB, and API Gateway\n](https://programmaticponderings.com/2019/10/04/event-driven-serverless-architectures-with-aws-lambda-sqs-dynamodb-and-api-gateway/).\n\nIn the post, we will explore modern application development using an event-driven, serverless architecture on AWS. To demonstrate this architecture, we will integrate several fully-managed services, all part of the AWS Serverless Computing platform. Serverless AWS offerings include Lambda, API Gateway, SQS, S3, and DynamoDB. The end result will be an application composed of small, easily deployable, loosely coupled serverless components.\n\n## Quick Start\n\n### Prerequisites\nThe demonstration assumes you already have an AWS account. You will need the latest copy of the AWS CLI, SAM CLI, and Python 3 installed on your development machine.\n\nAdditionally, you will need two existing S3 buckets. One bucket will be used to store the packaged project files for deployment. The second bucket is where we will place CSV data files, which in turn, will trigger events that invoke multiple Lambda functions.\n\n\n### CloudFormation Parameter\n\nTemplate Parameter\nCloudFormation will create and uniquely name the SQS queues and the DynamoDB table. However, to avoid circular references , a common issue, between resources associated with the S3 data bucket, it is easier to use a pre-existing bucket. To start, you will need to change the SAM template’s DataBucketName parameter’s default value to your own S3 bucket name. Again, this bucket is where we will eventually push the CSV data files. Alternately, override the default values using the sam build command, next.\n```yaml\nParameters:\n  DataBucketName:\n    Type: String\n    Description: S3 bucket where CSV files are processed\n    Default: your-data-bucket-name\n```\n\n### Deploying the Project\n\n```bash\n# variables\nS3_BUILD_BUCKET=\"your_build_bucket_name\"\nSTACK_NAME=\"your_stack_name\"\n\n# validate\nsam validate --template template.yaml\n\naws cloudformation validate-template \\\n  --template-body file://template.yaml\n\n# build\nsam build --template template.yaml\n\n# package\nsam package \\\n  --output-template-file packaged.yaml \\\n  --s3-bucket \"${S3_BUILD_BUCKET}\"\n\n# deploy\nsam deploy --template-file packaged.yaml \\\n  --stack-name \"${STACK_NAME}\" \\\n  --capabilities CAPABILITY_IAM \\\n  --debug\n```\n\n---\n\n\u003ci\u003eThe contents of this repository represent my viewpoints and not of my past or current employers, including Amazon Web Services (AWS). All third-party libraries, modules, plugins, and SDKs are the property of their respective owners.\u003c/i\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarystafford%2Fserverless-sqs-dynamo-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgarystafford%2Fserverless-sqs-dynamo-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarystafford%2Fserverless-sqs-dynamo-demo/lists"}