#java #amazon-dynamodb #java-11
Вопрос:
У меня есть проблема, в которой мне нужно получить все данные, которые старше 5 дней с текущей отметки времени .
Я создаю 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);
Я получаю исключение в качестве условия ключа запроса, которое не поддерживается при неправильном запросе . как я могу добиться того же самого?