JSPM

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

Emulate AWS λ and DynamoDB streams locally when developing your Serverless project

Package Exports

  • serverless-offline-dynamodb-streams
  • serverless-offline-dynamodb-streams/src/index.js

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 (serverless-offline-dynamodb-streams) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

serverless-offline-dynamodb-streams

This Serverless-offline-dynamodb-streams plugin emulates AWS λ and DynamoDBStreams on your local machine. To do so, it listens DynamoDBStreams stream and invokes your handlers.

Features:

  • Serverless Webpack support.
  • DynamoDBStreams configurations: batchsize and startingPosition.

Installation

First, add serverless-offline-dynamodb-streams to your project:

npm install serverless-offline-dynamodb-streams

Then inside your project's serverless.yml file, add following entry to the plugins section before serverless-offline (and after serverless-webpack if present): serverless-offline-dynamodb-streams.

plugins:
  - serverless-webpack
  - serverless-offline-dynamodb-streams
  - serverless-offline

See example

Configure

Functions

Ths configuration of function of the plugin follows the serverless documentation.

functions:
  myKinesisHandler:
    handler: handler.compute
    events:
      - stream:
          enabled: true
          type: dynamodb
          arn: arn:aws:dynamodb:eu-west-1:XXXXXX:table/myStream/stream/2018-07-02T19:48:31.121
          batchSize: 10
          startingPosition: TRIM_HORIZON

DynamoDB

The configuration of aws.DynamoDBStreams's client of the plugin is done by defining a custom: serverless-offline-dynamodb-streams object in your serverless.yml with your specific configuration.

You could use mhart's Dynalite with the following configuration:

custom:
  serverless-offline-dynamodb-streams:
    apiVersion: '2013-12-02'
    endpoint: http://0.0.0.0:8000
    region: eu-west-1
    accessKeyId: root
    secretAccessKey: root
    skipCacheInvalidation: false
    readInterval: 500

arn could be deduce from tableName if your add the key tableName in your function's configuration. Useful if your use dynalite and regularly recreate a new DynamoDBStreams.

functions:
  myKinesisHandler:
    handler: handler.compute
    events:
      - stream:
          enabled: true
          type: dynamodb
          tableName: myTable