/serverless-offline-lambda-with-sqs

An example that shows how to run a lambda function that consumes from a local SQS queue.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Overview

A working example that shows how to run lambda functions with serverless-offline and interact with a local SQS queue.

Setup

Prerequisites

This project requires the following;

  • nodejs
  • npm
  • serverless framework
  • docker
  • aws-cli

Node.js and npm

Download and install nodejs 8.10.

Serverless Framework

Once npm is installed, install serverless npm package with

npm install -g serverless

If you run into a permission issue writing to /usr/local/lib/node_modules, I suggest to change the default global node modules location. Please follow this workaround.

AWS CLI

This is needed for serverless-offline-sqs plugin to function. Follow (AWS official documentation)[https://docs.aws.amazon.com/cli/latest/userguide/installing.html] to install AWS CLI.

Configure AWS CLI after installation by running aws configure. You don't have to set real access key/secret. Any values will do.

As for the region, enter us-west-2.

How to run this

To fully test the integration between API Gateway and the Lambda function, the full deployment can be emulated using serverless-offline

  • Install plugins via NPM: npm install (One-off)
  • ./start.sh

This will serve the full project locally on port :3000 via an API gateway so GET and POST requests are required to access the functions pulling the settings from the local stage.