【问题标题】: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 运算符的。

    【讨论】:

      猜你喜欢
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-06
      • 2019-09-30
      • 1970-01-01
      • 2015-10-31
      相关资源
      最近更新 更多