JSPM

@everestate/serverless-router-aws

0.3.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 24
  • Score
    100M100P100Q58812F
  • License MIT

Serverless Router plugin to handle http, streaming and other events at AWS λ

Package Exports

  • @everestate/serverless-router-aws

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@everestate/serverless-router-aws) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@everestate/serverless-router-aws npm version

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

DynamoDB

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

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

SQS

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