簡體   English   中英

使用 python Boto3 在 DynamoDB 上進行掃描或查詢操作

[英]Scan or Query operation on DynamoDB using python Boto3

我有用戶表,用戶有user_id字段。

我需要使用給定列表獲取所有用戶詳細信息,例如 ["1234","3456"]。

Boto3 中沒有包含類似查詢。

我正在使用

response = table.scan(FilterExpression=Attr('user_id').is_in(["1234","3456"]))

但我沒有得到預期的結果。

如果我錯過了什么,請糾正我。

您需要回答的一個問題是:user_id 是您的 DynamoDB 哈希/分區鍵嗎? 如果是,那么您要查找的操作是:BatchGetItem。 你可以在這里看到它是如何工作的。

如果 user_id 不是您的分區/哈希鍵,第一個(也是錯誤的)解決方案是掃描整個表並過濾其數據(一種非常昂貴的方法,應該不惜一切代價避免)。 第二種更有效的解決方案是使用 user_id 作為哈希/分區鍵創建全局索引 (GSI),並在索引中投影要返回的數據。 您可以在此處了解有關 GSI 的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM