@ndkode/serverless-offline-dynamodb-streams v7.0.0
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-streamsThen 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-offlineConfigure
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_HORIZONDynamoDB
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
arncould be deduce fromtableNameif your add the keytableNamein 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: myTable2 years ago