DynamoDb“不支持查询密钥条件”

时间:2017-09-25 21:35:15

标签: amazon-dynamodb validationexception

我有一张桌子,并设置了一个GSI来进行查询。我设置条件的属性是类型编号。我像这样设置比较的属性值:AttributeValue value = new AttributeValue(); value.setN(将String.valueOf(3));

我成功进行了ComparisonOperator设置为EQ的查询。给出了正确的结果,但没有其他选项(NE | LE | LT | GE | GT |等)工作。它们都抛出ValidationException - 不支持查询键条件(服务:AmazonDynamoDB;状态代码:400; ...

我做错了什么?

非常感谢

1 个答案:

答案 0 :(得分:1)

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

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

Filterexpression允许所有类型的条件运算符与非键属性一起使用。