AWS boto3 - `batch_writer`和`batch_write_item`之间的区别

时间:2018-01-22 00:45:30

标签: amazon-web-services amazon-dynamodb boto3

我目前正在使用带有dynamodb的boto3,我注意到有两种类型的批量写入

教程中使用了

batch_writer,看起来你可以迭代不同的JSON对象来插入(当然这只是一个例子)

在我看来,{p> batch_write_items是一个特定于发电机的功能。但是,我并不是100%肯定这一点,我不确定这两个功能之间的区别(性能,方法,不是)

他们做同样的事情吗?如果是,为什么有两个不同的功能?如果他们不是,那有什么区别?性能比较如何?

2 个答案:

答案 0 :(得分:0)

据我了解并使用这些API,使用batch_write_item(),您甚至可以在一个查询中处理多个表的数据。但是使用batch_writer(),这意味着您将指定仅适用于某个表的操作。我认为这应该是我能告诉你的最基本的区别。

答案 1 :(得分:0)

  

batch_writer创建一个上下文管理器,用于将对象写入Amazon   批量DynamoDB。

     

批处理写入器将自动处理缓冲和发送项目   分批。

     

此外,批处理写入器还将自动处理任何   未处理的项目,然后根据需要重新发送。您需要做的就是   对于要添加的任何项目,请调用put_item,对于任何要调用的项目,请调用delete_item   您要删除的项目。

     

此外,如果批处理中可能包含auto_dedup,则可以指定   重复的请求,您希望此编写者为您处理重复数据删除。

source