Amazon web services AWS boto3--“批写入器”和“批写入项”之间的差异`
我目前正在用dynamodb应用bot3,我注意到有两种类型的批写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(),您甚至可以在
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
的例子: