我正在编写一个将CSV保存到dynamoDB表中的脚本。我正在使用Node.js和aws-sdk模块。一切似乎都是正确的,但是我向Dynamo发送了超过5万条记录,而只有1181条记录被保存并显示在Web控制台上。
我尝试了不同数量的记录,无论我尝试保存100k,10k还是50k,这都是我得到的最大记录。 根据AWS的文档,记录数量不应有任何限制,任何其他因素可能会影响此硬性限制?
顺便说一句,我的代码正在从插入操作中捕获错误,并且插入到1181标记之后时我没有接任何东西,因此该模块并没有真正的帮助。
任何其他想法都会受到赞赏。
答案 0 :(得分:0)
如果您使用DynamoDb batchWriteitem或其他批处理插入,则需要检查响应中的“ UnprocessedItems”元素。有时批写入超出了表的预配置写容量,并且无法处理您的所有插入,听起来像这里发生了什么。
您应该检查插入的响应,如果有未处理的项目,请在代码中设置重试和指数补偿时间策略。这将允许插入其他项目,直到处理完所有CSV。
如果要仔细查看响应元素,请点击此处,是Dynamo BatchWriteItem的参考链接。祝你好运!