首页 > 解决方案 > 我需要将大量虚拟数据插入 aws dynamodb

问题描述

我不得不用测试数据填充一个 dynamodb 表。我能够使用以下脚本填充 10,000 个项目:

for (( c = $1; c <= $2; c++ ))
do
    aws dynamodb put-item --table-name test_table \
    --item '{"swVersion":{"S": "x.x.'${c}'"}, .... \ 
    # multi-line item description goes on and on \
    # item size is about 2KB \
done

这是一个相当缓慢的过程,所以我不得不拆分 1~1000、1001~2000 等等。现在我正在尝试插入 1,000,000 个项目。我猜我可以使用batch-write. 可能同时运行多个脚本(我现在也不确定该怎么做)我想在下面得到一些建议:

标签: databasebashshellamazon-web-servicesamazon-dynamodb

解决方案


实际上是的,您可以使用 batchwrite,并增加预置的写入容量,知道约 1ko 数据的大约 1 个写入容量单位需要 1 秒,因此您可以将其增加到 100 个写入容量单位以每秒写入 100 行,(计算需要多长时间的数学,如果需要,可以增加更多)。也不要忘记,batchwrite 一次只接受 25 次写入。

阅读文档定价


推荐阅读