DynamoDb“不支持查询键条件”

Cli*_*ant 1 amazon-dynamodb validationexception

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

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

我究竟做错了什么?

非常感激

not*_*est 6

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

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

当您将 Filterexpression 与非键属性一起使用时,它允许使用所有类型的条件运算符。