Query DynamoDB with different PK values

0

I am trying to use a query with KeyConditionExpression in Boto3 to query a DynamoDB table. I am trying to return all the records using the following sudo expression

(PK=X AND SK=Y) OR (PK=A AND SK=B)

OR

KeyConditionExpression=((Key("PK").eq(f"USERID#{user_id}") & Key("SK").eq(f"PROJECTID#{project_id}")) | (Key("PK").eq(f"USERID#{user_id}PROJECTID#{project_id}") & Key("SK").begins_with("LAYERID#")))

PK is the primary key and SK is the Sort Key. Does this need to be 2 separate queries and the results join or can it be done in one?

alexis
已提問 3 個月前檢視次數 81 次
1 個回答
0
已接受的答案

You must specify a single value of the partition key in each Query request. So yes - in this case, you can make both Query calls in parallel, and then merge the result set on the application side.

已回答 3 個月前
  • thanks Pete

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南