@serverless-plugin-sqs-local/serverless-plugin-sqs-local

Serverless SQS local plugin

Usage no npm install needed!

<script type="module">
  import serverlessPluginSqsLocalServerlessPluginSqsLocal from 'https://cdn.skypack.dev/@serverless-plugin-sqs-local/serverless-plugin-sqs-local';
</script>

README

serverless-plugin-sqs-local

Serverless SQS Plugin - Allows to run SQS locally for serverless

Requires

  • Serverless
  • Java Runtime Engine (JRE) version 8 or newer

Features

Install Plugin

First, add this plugin to your project:

npm install --save-dev @serverless-plugin-sqs-local/serverless-plugin-sqs-local
# or
yarn add --dev @serverless-plugin-sqs-local/serverless-plugin-sqs-local

Then inside your project's serverless.yml file, add following entry to the plugins section before serverless-offline and after serverless-webpack if presents.

plugins:
  - serverless-webpack
  - '@serverless-plugin-sqs-local/serverless-plugin-sqs-local'
  - serverless-offline

See example.

Using the Plugin

  1. Install ElasticMQ as local SQS: serverless elasticmq install
  2. Add SQS Resource definitions to your project's serverless.yml file
  3. Start local SQS: serverless elasticmq start or serveless offline start

Install

serverless elasticmq install

All CLI options are optional:

--ElasticMQDownloadUrl  Url to download ElasticMQ jar file. The default url is latest
--ElasticMQPath         Directory path to install ElasticMQ. The default directory is "$PWD/.elasticmq"

See example.

All the above options can be added to serverless.yml to set default configuration: e.g.

custom:
  serverless-plugin-sqs-local:
    elasticmq:
      setup:
        downloadUrl: 'https://s3-eu-west-1.amazonaws.com/softwaremill-public/elasticmq-server-0.13.8.jar'
        installPath: '.ElasticMQ'

See example.

Start

serveless elasticmq start

All CLI options are optional:

--ElasticMQPath  ElasticMQ installed directory path. The default directory is "$PWD/.elasticmq"
--ElasticMQPort  The port number that ElasticMQ will use to communicate with your application. The default port is 9324

See example.

All the above options can be added to serverless.yml to set default configuration: e.g.

custom:
  serverless-plugin-sqs-local:
    elasticmq:
      setup:
        installPath: '.ElasticMQ'
      start:
        port: 9325

See example.

When using this plugin with serverless-offline, the local SQS start command can be triggered automatically. Please note that you still need to install local SQS first.

Configuration function and SQS

The configuration of function and SQS of the plugin follows the serverless documentation.

See example.

Credits

This project is heavily inspired by the following projects.