Skip to content

Node CLI for backing up and restoring schema+data from DynamoDB tables

License

Notifications You must be signed in to change notification settings

mifi/dynamodump

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dynamodump 🕋→💾

Node cli for exporting & importing schema and data from DynamoDB tables. I didn't find any other node tools for dumping table schema (structure, indexes etc), they all just dump data.

Install

npm install -g dynamodump

Usage

Run:

dynamodump

Examples

dynamodump export-schema --region=eu-west-1 --table=your-table --file=your-schema-dump
dynamodump import-schema --region=eu-west-1 --file=your-schema-dump --table=your-table --wait-for-active
dynamodump export-all-data --region=eu-west-1
dynamodump import-data --region=eu-west-1 --table=mikael-test --file=mikael-test.dynamodata
dynamodump wipe-data --throughput 5 --table your-table --region eu-west-1
AWS_PROFILE=customprofile dynamodump list-tables

DynamoDB Local

See DynamoDB Local. Use the flag --endpoint, e.g. --endpoint https://localhost:8000

Backup all tables with structure/data to s3

(mkdir backup && cd backup && dynamodump export-all --region eu-west-1) &&
aws s3 cp backup s3:https://mybucket/ --recursive

Notes

  • Stream ARN will not be preserved during export/import

Alternatives

If you're doing a simple restore/backup job you may consider using AWS native Backup Restore feature (or Point In Time Restore), priced at 0.1x c per GB it can be significantly cheaper for larger tables (100k+ rows), easier to avoid issues with autoscaling/request throttling and shifts the extra load away from your tables.

TODO

Related