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
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 fromtableName
if your add the keytableName
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