【问题标题】:DynamoDb "Query key condition not supported"DynamoDb“不支持查询键条件”
【发布时间】:2017-09-26 07:02:33
【问题描述】:

我有一张表并设置了一个 GSI 来进行查询。我设置条件的属性是数字类型。我为比较设置属性值,如下所示: AttributeValue value = new AttributeValue(); value.setN(String.valueOf(3));

我成功地进行了一项查询,其中将比较运算符设置为 EQ。给出了正确的结果,但其他选项(NE | LE | LT | GE | GT | etc)都不起作用。他们都抛出 ValidationException - 不支持查询关键条件(服务:AmazonDynamoDB;状态代码:400;...

我做错了什么?

非常感谢

【问题讨论】:

    标签: amazon-dynamodb validationexception


    【解决方案1】:

    查询具有分区键属性的 GSI 时,分区键只允许使用相等运算符。如果不知道partition key的值,需要使用scan api。

    查询 api 允许其他条件运算符用于排序键属性。但是,您只能对分区键使用相等运算符。否则无法使用查询接口。

    当您将过滤器表达式与非键属性一起使用时,它允许使用各种条件运算符。

    【讨论】:

    • GSI 的排序键怎么样?
    猜你喜欢
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多