簡體   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