2017-09-25 78 views
0

我有一个表,并设置了一个GSI来做查询。我设置条件的属性是类型编号。我设置比较的属性值是这样的:AttributeValue value = new AttributeValue(); value.setN(将String.valueOf(3));DynamoDb“查询键条件不支持”

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

我在做什么错

大加赞赏

回答

1

当查询与GSI?如果你不知道分区键的值,你需要使用扫描API

查询API允许其他条件运算符的排序键属性但是,您只能使用相等运算符来分区键,否则您不能使用查询API

Filterexpression允许将所有类型的条件运算符用于非键属性。

+0

谢谢。如果只有文件更清晰.... –