serverless-offline-sqs
This Serverless-offline plugin emulates AWS λ and SQS queue on your local machine. To do so, it listens SQS queue and invokes your handlers.
Features:
- Serverless Webpack support.
- SQS configurations: batchsize.
Installation
First, add serverless-offline-sqs
to your project:
npm install serverless-offline-sqs
Then inside your project's serverless.yml
file, add following entry to the plugins section before serverless-offline
(and after serverless-webpack
if presents): serverless-offline-sqs
.
plugins: - serverless-webpack - serverless-offline-sqs - serverless-offline
Configure
Functions
Ths configuration of function of the plugin follows the serverless documentation.
functions: mySQSHandler: handler: handler.compute events: - sqs: arn:aws:sqs:region:XXXXXX:MyFirstQueue - sqs: arn: arn:aws:sqs:region:XXXXXX:MySecondQueue - sqs: queueName: MyThirdQueue arn: Fn::GetAtt: - MyThirdQueue - Arn - sqs: arn: Fn::GetAtt: - MyFourthQueue - Arnresources: Resources: MyFirstQueue: Type: AWS::SQS::Queue Properties: QueueName: MyFourthQueue
SQS
The configuration of aws.SQS
's client of the plugin is done by defining a custom: serverless-offline-sqs
object in your serverless.yml
with your specific configuration.
You could use ElasticMQ with the following configuration:
custom: serverless-offline-sqs: apiVersion: '2012-11-05' endpoint: http://0.0.0.0:9324 region: eu-west-1 accessKeyId: root secretAccessKey: root