如何从AWS DynamoDB导出数据(表和数据)并将其导入本地DynamoDB?

时间:2019-04-07 09:47:38

标签: amazon-web-services import export amazon-dynamodb

我想创建一个隔离的本地环境(在linux上运行)以进行开发和测试。

如何从AWS DynamoDB ind导出到本地DynamoDB实例的数据(约10个表和几百个数据项)?

3 个答案:

答案 0 :(得分:1)

我还没有尝试过,但是您应该可以使用CLI。

首先将数据提取到本地JSON文件中

aws dynamodb scan --table-name MYLIVETABLE --output json > pathtofile/MYLIVETABLE.json

然后将数据加载到本地DynamoDB实例

aws dynamodb batch-write-item --table-name MYLOCALTABLE --request-items file://pathtofile/MYLIVETABLE.json --endpoint-url http://localhost:8000

答案 1 :(得分:0)

AWS确实为dynamoDB提供了本地版本。以下是更多详细信息:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html

如上所述创建本地副本,并将其传输到另一个本地DynamoDB实例中。.

答案 2 :(得分:0)

您可以使用dynamodump

首先从AWS导出到本地计算机:

python dynamodump.py -m backup -r REGION_NAME -s TABLE_NAME

下一次导入DynamoDB Local

python dynamodump.py -m restore -r local -s TABLE_NAME --host localhost --port 8000 --accessKey a --secretKey a

最后验证新的本地表:

aws dynamodb list-tables --endpoint-url http://localhost:8000
  

重要提示:如果您在AWS上配置的读/写容量为   按需,您必须手动更改ReadCapacityUnits和   步骤1中保存的schema.json文件中的WriteCapacityUnits值   从'0'到'1'以避免出现以下错误:读取和写入表   吞吐量必须至少为1,并且不能为空