Как запросить динамо БД для пакета идентификаторов без использования ключа диапазона - PullRequest
1 голос
/ 04 марта 2020

У меня возникли проблемы с формированием запроса, который может запрашивать заданную партию идентификаторов в DynamoDB.

Моя модель:

@DynamoDBTable(tableName = "person_detail")
data class PersonDetail constructor(
    @DynamoDBHashKey(attributeName = "person_id")
    var personId: Long,
    @DynamoDBRangeKey(attributeName = "phone_number")
    var phoneNumber: String,
    @DynamoDBAttribute(attributeName = "other_attribute")
    var otherAttribute: String,
)

Я должен хранить здесь типичное отношение «один ко многим» в РСУБД. Один человек с идентификатором 123 может иметь несколько телефонных номеров. Я пытаюсь хранить их в разных рядах. Запрос, который я пытаюсь сформировать, представляет собой набор идентификаторов, мне нужно найти все их детали.

То, что я мог бы решить, это дать один идентификатор, я могу найти его детали, используя это:

    return dynamoDBMapper.query(
        PersonDetail::class.java,
        DynamoDBQueryExpression<PersonDetail>().apply {
            hashKeyValues = PersonDetail(id)
        }
    ).toList()

Я изо всех сил пытаюсь найти правильный API для использования, чтобы я мог изменить это так что вместо передачи одного идентификатора за раз, я могу передать несколько идентификаторов одновременно. Не могли бы вы помочь мне с этим?

Спасибо.

...