serverless-iot-local
AWS Iot lifecycle and regular topic subscription events
Prerequisites
- serverless@1.x
- redis
Install
-
npm install --save serverless-iot-local
-
In
serverless.yml
addserverless-iot-local
to plugins:
plugins: - serverless-iot-local
Usage
-
Start redis:
redis-server
-
If you're using serverless-offline, you can run:
sls offline start
Otherwise run:
sls iot start
CLI options are optional:
--port -p Port to listen on. Default: 1883--httpPort -h Port for WebSocket connections. Default: 1884--noStart -n Prevent Iot broker (Mosca MQTT brorker) from being started (if you already have one)--skipCacheValidation -c Tells the plugin to skip require cache invalidation. A script reloading tool like Nodemon might then be needed (same as serverless-offline)
The above options can be added to serverless.yml to set default configuration, e.g.:
custom: serverless-iot-local: start: port: 1884 # Uncomment only if you already have an MQTT server running locally # noStart: true redis: host: 'localhost' port: 6379 db: 12
Using with serverless-offline plugin
Place serverless-iot-local
above serverless-offline
plugins: - serverless-iot-local - serverless-offline
Todo
- Improve support of AWS Iot SQL syntax