A Serverless application that demonstrate the flow of amazon SQS, SNS and lambda.
Instead of declare the AWS access key and secret in the serverless.yml, we use the default AWS profile for development and deployment to hide our keys. Fill in your own profile if you are not using the default profile.
We are using ElasticMQ, an in-memory message queue system, with serverless-offline-sqs plugin to simulate the local AWS SQS environment. We have provided a docker-compose file to establish the ElasticMQ service.
cd ./elasticMQ
docker-compose up -d
npm install
NODE_ENV=development serverless offline start
npm install
npm run deploy
node script/invoke.js
- Better Documentation
- Replace the wildcard on iamRoleStatements in serverless.yml
- Auth mechanism to prevent API dispose to public
- Error handling, Amazon SQS Dead-Letter Queues
- Test cases
- CICD pipeline
There may be a bug on serverless-webpack that it isn't work to use webpack.DefinePlugin to declare the environment variable.
This software is released under the MIT license. See the license file for more details.