我试图通过API post调用将数十万个JSON对象发送到数据库。问题是,当我尝试将所有这些JSON对象发送到数据库时,对每个对象进行单独调用时,我会收到很多HTTP错误,大多数是400错误。
我的问题是,有没有更好的方法将所有JSON对象发送到数据库?我可以一次发送所有内容吗?在API调用之间等待?
如果它很重要,我不会尝试通过AWS API将数据发送到DynamoDB。
答案 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