我目前正在使用带有dynamodb的boto3,我注意到有两种类型的批量写入
教程中使用了 batch_writer
,看起来你可以迭代不同的JSON对象来插入(当然这只是一个例子)
batch_write_items
是一个特定于发电机的功能。但是,我并不是100%肯定这一点,我不确定这两个功能之间的区别(性能,方法,不是)
他们做同样的事情吗?如果是,为什么有两个不同的功能?如果他们不是,那有什么区别?性能比较如何?
答案 0 :(得分:0)
据我了解并使用这些API,使用batch_write_item(),您甚至可以在一个查询中处理多个表的数据。但是使用batch_writer(),这意味着您将指定仅适用于某个表的操作。我认为这应该是我能告诉你的最基本的区别。
答案 1 :(得分:0)
batch_writer
创建一个上下文管理器,用于将对象写入Amazon 批量DynamoDB。批处理写入器将自动处理缓冲和发送项目 分批。
此外,批处理写入器还将自动处理任何 未处理的项目,然后根据需要重新发送。您需要做的就是 对于要添加的任何项目,请调用put_item,对于任何要调用的项目,请调用delete_item 您要删除的项目。
此外,如果批处理中可能包含auto_dedup,则可以指定 重复的请求,您希望此编写者为您处理重复数据删除。