Я нахожусь в ситуации, чтобы запросить DynamoDB, где у меня есть hashKey (objectId) и у меня есть префикс для sortKey (versionId).
Я хотел бы добиться чего-то вроде ниже:
QuerySpec querySpec = new QuerySpec();
querySpec.withKeyConditionExpression("objectId = :v_objectId and (annotationIdVersion IN (:v_objectId, begins_with(versionId, :v_prefix)))")
.withValueMap(new ValueMap().withString(":v_objectId", objectId).withString(":v_prefix", "v0_"));
table.query(querySpec);
В приведенном выше примере я пытаюсь проверить, равен ли мой versionId либо «objectId», либо «some_prefix».
Я обнаружил, что функция begin_with в DynamoDB помогает выполнить запрос на основепрефикс.
Но я не уверен, что оператор IN принимает функцию begin_with.Я ищу любое предложение по достижению вышеупомянутого варианта использования.
Любое предложение будет оценено.Заранее спасибо.