【问题标题】:ValidationException: Query condition missed key schema elementValidationException:查询条件缺少关键架构元素
【发布时间】:2022-01-19 00:55:28
【问题描述】:
我有那个项目到我的 dynamodb
我的桌子是这样建造的:
现在我需要使用 PK 和 SK 进行查询。
当我这样做时,它会正确返回
但是当我把SK放在查询中时,它会产生标题错误
result = self.table.query(
KeyConditionExpression=(Key("PK").eq(where["PK"]) and Key("SK").gt(where["SK"])),
**kwargs,
)
如何停止此错误? PK 已在查询中。
【问题讨论】:
标签:
python
boto3
dynamodb-queries
【解决方案1】:
result = self.table.query(
KeyConditionExpression=(Key("PK").eq(where["PK"]) and Key("SK").gt(where["SK"])),
**kwargs,
)
应该是
result = self.table.query(
KeyConditionExpression=(Key("PK").eq(where["PK"]) & Key("SK").gt(where["SK"])),
**kwargs,
)
DynamoDB 条件仅支持 & 运算符,不支持 and 运算符。事实上,在 Python 中是不可能重载 and 运算符的。