in src/main/scala/org/apache/pekko/persistence/dynamodb/snapshot/DynamoDBSnapshotRequests.scala [98:117]
private def loadByTimestamp(
persistenceId: String,
minTimestamp: Long,
maxTimestamp: Long,
limit: Option[Int]): Future[QueryResult] = {
val request = new QueryRequest()
.withTableName(Table)
.withIndexName(TimestampIndex)
.withKeyConditionExpression(s" $Key = :partitionKeyVal AND $Timestamp BETWEEN :tsMinVal AND :tsMaxVal ")
.addExpressionAttributeValuesEntry(":partitionKeyVal", S(messagePartitionKey(persistenceId)))
.addExpressionAttributeValuesEntry(":tsMinVal", N(minTimestamp))
.addExpressionAttributeValuesEntry(":tsMaxVal", N(maxTimestamp))
.withScanIndexForward(false)
.withConsistentRead(true)
limit.foreach(request.setLimit(_))
request.setSelect(ALL_ATTRIBUTES)
dynamo.query(request)
}