У меня есть таблица DyanmoDB, которая ради этого вопроса выглядит следующим образом:
- id (ключ раздела строки)
- origin (ключ сортировки строки)
Я хочу запросить у таблицы подмножество источников с определенным идентификатором.Насколько я понимаю, единственный оператор DynamoDB разрешает для ключей сортировки в запросе «между», «начинается_ с», «=», «<=» и «> =».
Проблема в том, что мой запроснужна форма 'CONTAINS', потому что список 'origin' не обязательно упорядочен (для оператора между).
Если бы это был SQL, это было бы что-то вроде:
SELECT * from Table where id={id} AND origin IN {origin_list}
Мой точный вопрос: что мне нужно сделать, чтобы добиться этой функциональности наиболее эффективным способом?я должен изменить свою структуру таблицы?может добавить GSI?Открыты для предложений.
Мне известно, что этого можно достичь с помощью операции сканирования, но я хочу получить эффективный запрос.То же самое касается BatchGetItem, я бы предпочел избегать этой функциональности, если в этом нет крайней необходимости.
Спасибо