dynamodb-util
AWS DynamoDB utility in NodeJS to simplify working with the dynamodb data.
Replication
A helper class is provided with this utilty, using this you can easily setup dynamoDB replication using AWS lambda function.
Setup
- Streams: Enable DynamoDB streams with new and old image.
- Create Node Project: Create a node project with the below code snippet or download the example project form the github (Make sure you have dynamodb-util package installed locally and available in the node_modules).
- Update target details: Update the code with the target table name and aws credentails.
- Packaging: Compress (.zip) the entire project including the node_modules.
- Create and deploy AWS Lambda Function: Create a AWS lambda function with the above created package.
- Setup Triggers: Add triggers to invoke from DynamoDB Stream.
const ddbutil = replication; moduleexports { var config = "tableName": "<<TableName>>" "aws": "accessKeyId": "<<accessKeyId>>" "secretAccessKey": "<<secretAccessKey>>" "region": "<<region>>" ddbutil;}
Util
A command line utility to backup dynamoDB to another dynamoDB table or to a JSON file.
Installation
Typically you would use this as command line utility.
npm install -g dynamodb-util
Command
dynamodb-util --config .\config.json --command listtables
Note: Use absolute path while specifying the config.json
List of supported commands
- listtables
- listrecords
- describe
- backup
Config file format
Type1
Backup from DynamoDB to JSON file
Type2
Backup from DynamoDB to DynamoDB
Target group supports 2 modes
- create
- append
Use create mode if you want to create a the backup table with the excaly replica of source with keys, GSI (Global Seconday Index) and LSI (Local Secondary Index).
And use append mode if you already have a table and just want to copy the data from source to target table.
Contact Us
We are happy to help where we can, please feel free to contact via twitter @vizvastudio or email at athaseen@vizvastudio.com.