[英]How to loop over get_item in AWS lambda python
我有 2 个 dynamodb,两个表id
都是短键。 两个表的样品 json 如下
表格1
[{"id": 1,"completed": false }, {"id": 2, "completed": false }]
表2
[{"id": 13,"completed": false }, {"id": 2, "completed": false }]
代码如下
table1 = dynamodb.Table('employee1')
table2 = dynamodb.Table('employee2')
for eid in listofeid:
repsonse = table.get_item(Key={'id': eid})
表 1 是要与表 2 检查的主表 我需要比较表 1 和表 2 如果两个表中都存在 id 则使用get_item
检索数据
我需要测试 100 个 id
我已经完成了 Table.scan()。 如何处理 table.get_item
好吧,简单的解决方案就是分别对两个表的 100 个 id 执行BatchGetItem
,然后在应用程序中执行交集。
有人可能会说这是低效的——即使每个表中只有 50 个 id 并且交集只有 10 个项目,您仍然需要为 200 次读取付费。 问题是替代解决方案是否会更有效。 答案可能是——有点,但不是很多。 一个单表解决方案(如 Kirk 所建议的)将允许您仅用 100 次读取来完成此操作。 但是没有什么神奇的方法可以让你立即找到交叉点,只需支付阅读交叉点的费用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.