繁体   English   中英

如何在 AWS lambda python 中循环 get_item

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM