带有键条件表达式的 AWS DynamoDB 查询出错:不支持查询键条件

Posted

技术标签:

【中文标题】带有键条件表达式的 AWS DynamoDB 查询出错:不支持查询键条件【英文标题】:AWS DynamoDB query with Key Condition Expression got an error: Query key condition not supported 【发布时间】:2016-08-16 10:10:30 【问题描述】:

下图显示了我的表格结构

并尝试使用下面的 Java 代码查询项目列表:

QuerySpec qs = new QuerySpec()
                .withKeyConditionExpression("RecordID >= :v_recordID")
                .withFilterExpression("DeviceID = :v_deviceID")
                .withValueMap(new ValueMap()
                            .withInt(":v_recordID", recordID)
                            .withString(":v_deviceID", deviceID)
                        );

我想获取 RecordID 大于或等于 5 的项目,但出现错误:

不支持查询键条件

如何解决,提前谢谢!

【问题讨论】:

DynamoDB query with Lambda (node.js): Query key condition not supported的可能重复 【参考方案1】:

查看链接:http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html

需要进行分区键相等性测试,并且必须按以下格式指定:

partitionKeyName = :partitionkeyval

【讨论】:

但是在那种情况下可能有一个“或”吗?喜欢partitionKeyName = :partitionKeyval OR partitionKeyName = :partitionKeyVal2?

以上是关于带有键条件表达式的 AWS DynamoDB 查询出错:不支持查询键条件的主要内容,如果未能解决你的问题,请参考以下文章

AWS KeyConditionExpression dynamodb 查询

AWS dynamoDB按日期查询

C# dynamodb 错误:查询条件缺少键架构元素:主键

[AWS][Nosql]DynamoDB动手实验101

用于查询 dynamodb 的 boto3 资源:查询条件缺少关键架构元素

查询条件缺少关键架构元素:验证错误