如何解决查询 GSI 排序键并过滤小于当前时间的值
我有一个问题陈述,我需要从当前时间戳中获取早于 5 天的所有数据。
我在 updatetimestamp 上创建了一个 GSI,现在我想在 GSI 上过滤/查询以提取所有少于 5 天的记录。
Map<String,AttributeValue> eav = new HashMap<String,AttributeValue>();
eav.put(":val1",new AttributeValue().withS(getCurrentDateTimeInUTC()));
DynamoDBQueryExpression<GuaranteedWakeup> queryExpression = new DynamoDBQueryExpression<GuaranteedWakeup>()
.withIndexName(Constants.UPDATE_TIMESTAMP_GSI_NAME)
.withConsistentRead(false)
.withKeyConditionExpression("updateTimestamp < :val1")
.withExpressionAttributeValues(eav);
// DynamoDBScanExpression scanExpression = new DynamoDBScanExpression().withConsistentRead(true);
List<GuaranteedWakeup> scanResult = mapper.query(GuaranteedWakeup.class,queryExpression);
我收到异常,因为错误请求不支持查询键条件。我怎样才能达到同样的目标。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。