daangn / dynamoutil

Useful commands for DynamoDB.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dynamoutil🚀

Collection of useful commands for DynamoDB.

Installation

Via go get:

$ go get -u github.com/daangn/dynamoutil

Download an executable binary

Github Releases Link

Copy a dynamodb table from remote to local

Write a config file.

.dynamoutil.yaml

copy:
  - service: "default"
    ##  Origin tables to copy.
    origin:
      region: "ap-northeast-2"
      table: "remote-aws-table"
    ## Target table to store.
    target:
      region: "ap-northeast-2"
      endpoint: "http://localhost:8000"
      table: "local-aws-table"
      ## Must match keys of target dynamodb.
      # accessKeyID: "123"
      # secretAccessKey: "123"

Run "copy" command.

$ dynamoutil -c .dynamoutil.yaml copy
Config file:.dynamoutil.yaml

Origin region: ap-northeast-2  table: remote-aws-table  endpoint: 
Target region: ap-northeast-2  table: local-aws-table  endpoint: http://localhost:8000

Are you sure about copying all items from remote-aws-table? [Y/n]

Dump a dynamodb table from remote

Write a config file.

dump:
  - service: "default"
    db:
      region: "ap-northeast-2"
      # endpoint: "http://localhost:8000"
      table: "remote-dynamodb-table-name"
    output: json
    # Default name is dynamodb's table name
    filename: "remote-dynamodb-table-name"

Run "dump" command.

$ dynamoutil -c .dynamoutil.yaml dump

Config file:.dynamoutil.yaml

service: default  region: ap-northeast-2  table: remote-aws-table  endpoint:   output: json 

Are you sure about dumping all items from rocket-chat-alpha-message? [Y/n] Y

    Writes 1828 items. 380.71 items/s
# The common data structure when you do the DynamoDB dump via AWS Glue or DynamoDB Stream,
## DynamoDB S3 Export
{Item:{"PartitionKey": {"S": "partition_key_value"},"SortKey": {"N": "sort_key_value"}}}
## DynamoDB Stream event & AWS Glue
{"PartitionKey": {"S": "partition_key_value"},"SortKey": {"N": "sort_key_value"}}

# When you do the dump with Dynamoutil,
{"PartitionKey": "partition_key_value","SortKey": "sort_key_value"}

Author

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

This repository only allows Pull Request to apply on master branch.

License

Apache License

About

Useful commands for DynamoDB.

License:Apache License 2.0


Languages

Language:Go 100.0%