2017-09-25 61 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

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