https://github.com/shavo007/sqs-lambda-worker-demo
showcase new event source sqs for aws lambda
https://github.com/shavo007/sqs-lambda-worker-demo
aws lambda nodejs serverless sqs
Last synced: 4 months ago
JSON representation
showcase new event source sqs for aws lambda
- Host: GitHub
- URL: https://github.com/shavo007/sqs-lambda-worker-demo
- Owner: shavo007
- Created: 2018-07-01T12:57:55.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-10-05T07:29:12.000Z (about 1 year ago)
- Last Synced: 2024-10-11T22:55:32.940Z (12 months ago)
- Topics: aws, lambda, nodejs, serverless, sqs
- Language: JavaScript
- Size: 416 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sqs-lambda-worker-demo
> Test drive sqs integration with aws lambda
This demo repo uses boilerplate project from [Serverless Node.js Starter](https://github.com/shavo007/serverless-nodejs-starter)
## Install
- Node
- Yarn
1. `curl -o- -L https://yarnpkg.com/install.sh | bash`
2. `yarn bash completion` - https://github.com/dsifford/yarn-completion- Terraform
`brew install terraform`
- Serverless
```bash
# If you don't already have the serverless cli installed, do that
yarn global add serverless# Install dependencies
yarn
```### Terraform (create sqs queue)
```bash
1. Create sqs queue on aws account
2. cd terraform && terraform init
3. terraform plan
4. terraform apply
```### Deploy
1. Create sqs queue via terraform above
2. Update the sqs queue url in src/producer.js file and the arn in serverless.yml3. Assuming you've already set up your default AWS credentials
`yarn deploy:dev` will deploy to "dev" environment.
**UPDATE** change is now in the latest serverless release 1.28.0
Will add your queue as the trigger for worker function
## Run
Trigger the producer fn via a test event.
The producer will generate random messages and send them to the queue.
You can send in up to 10 messages at a time based on the config `batch size`**Managing Throughput** with concurrency control
The consumer function can handle up to 5 concurrent executions currently. This config can be changed in the `serverless.yml` file
### Renovate
> Automated Dependency Updates
Renovate runs continuously to detect the latest available versions. And automagicaly creates PR on your github project with changelog and release notes.
For more info and how to authorise the github app check out [onboarding guide](https://renovateapp.com/docs/getting-started/configure-renovate)
## Resources
https://aws.amazon.com/blogs/aws/aws-lambda-adds-amazon-simple-queue-service-to-supported-event-sources/