通过API post请求将数十万个JSON对象发送到数据库

时间:2018-04-29 17:37:07

标签: javascript json node.js api amazon-dynamodb

我试图通过API post调用将数十万个JSON对象发送到数据库。问题是,当我尝试将所有这些JSON对象发送到数据库时,对每个对象进行单独调用时,我会收到很多HTTP错误,大多数是400错误。

我的问题是,有没有更好的方法将所有JSON对象发送到数据库?我可以一次发送所有内容吗?在API调用之间等待?

如果它很重要,我不会尝试通过AWS API将数据发送到DynamoDB。

2 个答案:

答案 0 :(得分:2)

您可以用批次编写项目。参见:

您还可以在DynamoDB中配置更多容量。 DynamoDB中的This question about throttling可能很有用。这可能是您收到HTTP 400错误的原因(有关您获得的HTTP错误消息的更多详细信息)。

答案 1 :(得分:0)

文档here指出错误400可以是ThrottlingException The request was denied due to request throttling.

如果是这种情况,您有三种选择。

1)限制通过排队系统从代码每秒发送到API的单个POST调用的数量。

2)根据上一个回答中的建议,您可以使用batch functionality

3)增加桌子的容量。这可以通过控制台选择表格,进入容量选项卡并增加Write capacity units

来实现