Amazon web services AWS boto3--“批写入器”和“批写入项”之间的差异`

Amazon web services AWS boto3--“批写入器”和“批写入项”之间的差异`,amazon-web-services,amazon-dynamodb,boto3,Amazon Web Services,Amazon Dynamodb,Boto3,我目前正在用dynamodb应用bot3,我注意到有两种类型的批写 batch\u writer在教程中使用,您似乎可以通过迭代不同的JSON对象来进行插入(当然,这只是一个示例) batch\u write\u items在我看来是发电机特有的功能。但是,我不能100%确定这一点,也不能确定这两个功能(性能、方法等)之间的区别 他们做同样的事情吗?如果是,为什么有两种不同的功能?如果不是,有什么区别?性能比较如何?据我了解和使用这些API,通过batch_write_item(),您甚至可以在

我目前正在用dynamodb应用bot3,我注意到有两种类型的批写

batch\u writer
在教程中使用,您似乎可以通过迭代不同的JSON对象来进行插入(当然,这只是一个示例)

batch\u write\u items
在我看来是发电机特有的功能。但是,我不能100%确定这一点,也不能确定这两个功能(性能、方法等)之间的区别


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

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

batch\u writer
创建一个上下文管理器,用于将对象写入Amazon DynamoDB批量生产

批处理编写器将自动处理缓冲和发送项目 成批地

此外,批处理编写器还将自动处理任何 未处理的项目,并根据需要重新发送。你需要做的就是 为要添加的任何项目调用put\u item,并为任何项目调用delete\u item 要删除的项目

此外,如果批处理可能包含 重复的请求,您希望此写入程序为您处理重复数据消除


Dynamo API有
BatchWriteItem
和Boto(Dynamo API的包装器)刚刚命名为
batch\u writer
。它与在Boto中重命名的是同一个东西。
batch\u writer
是一种方法——它是一个更高级别的函数,可以为您处理重试等操作
batch\u write\u item
是底层DynamoDB API的薄包装。我在GitHub上放了一个
batch\u writer
的例子: