AWS Dynamodb 是一个 No SQL 资料库,在存一些比较非结构化资料时,相当有弹性。
最近遇到一个状况,就是需要将 AWS Dynamodb 资料汇出,AWS 的命令列工具没有提供这方面的指令,Web 介面虽然有这个功能,但是一次只能汇出 100 笔资料。
官方虽然有 Amazon Data Pipeline (资料工作流程协调流程服务)这个服务,一方面没用过,另一方面只有几千笔的资料,觉得有点用牛刀杀鸡的感觉。
后来找到一个专案 DynamoDBtoCSV(https://github.com/edasque/DynamoDBtoCSV)是用 Node.js 开发,设定简单,速度也不错,推荐给大家。
因为太简单了,所以也不知道要不要写步骤,不过就备忘一下好了。
以下指令都在命令列下执行
//把 DynamoDBtoCSV 下载下来并切换到该目录git clone git@github.com:edasque/DynamoDBtoCSV.git && cd DynamoDBtoCSV//把依赖的 moduel 装一下npm install//修改 config.json,换成你的 aws 资料{ "accessKeyId": "REPLACE", "secretAccessKey": "REPLACE", "region": "REPLACE"}//执行下面执令,即会开始下载并存成 csvnode dynamoDBtoCSV.js -t (dynamodb名称) > xxx.csv
另外这一篇文章有介绍更多相关的工具,如果你不喜欢这个方法,也许在这文章中可以找到更适合你的
https://medium.com/@quodlibet_be/an-overview-of-tools-to-export-from-dynamoddb-to-csv-d2707ad992ac