@everestate/serverless-router-aws ![npm version](https://badge.fury.io/js/%40everestate%2Fserverless-router-aws.svg)
Serverless Router plugin to handle http, streaming and other events at AWS λ
Installation
npm install @everestate/serverless-router @everestate/serverless-router-aws --save
Supported events / services
Steaming events from AWS DynamoDB.
const FOOBAR_TABLE_STREAM_ARN = 'arn:aws:dynamodb:us-west-2:111122223333:table/FooTable/stream/2015-05-11T21:21:33.291';
router.dynamodb
.insert(FOOBAR_TABLE_STREAM_ARN, (ctx, _event) =>
console.log(`New Foobar record inserted "${ctx.newItem}"`));
ctx
- routing context, it's content dependent on event type
event
- API gateway event, same as dispatch
receives
DynamoDB adapter implements insert
, modify
and remove
methods.
See the documentation for more details: docs/DynamoDB.md
HTTP Events from AWS API Gateway.
router.http
.get('/users/:id', (ctx, event) =>
console.log(`get user by id "${ctx.id}"`))
.post('/users', (ctx, event) =>
console.log(`create new user with attributes "${event.body}"`));
ctx
- routing context, object which contains path parameters (regexp tokens)
event
- API gateway event, same as dispatch
receives
HTTP adapter implements get
, post
, patch
, put
, delete
and all
methods.
See the documentation for more details: docs/HTTP.md
Steaming events from AWS SQS.
const FOOBAR_QUEUE_STREAM_ARN = 'arn:aws:sqs:us-west-2:594035263019:FOOBARQUEUE';
router.sqs
.messgage(FOOBAR_TABLE_STREAM_ARN, (ctx, _event) =>
console.log(`New nessage received"${ctx.messageAttribtues}"`));
ctx
- routing context, it contains the event payload
event
- message gateway event, same as dispatch
receives
SQS adapter implements message
method.
See the documentation for more details: docs/SQS.md
License
MIT