Как запросить DynamoDB без использования hashKey - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть таблица DynamoDB с двумя атрибутами:


A: первичный ключ раздела

B: первичный ключ сортировки


Я хочу запросить эту таблицу, используя атрибут B, так как я не знаю значения A. Возможно ли это сделать?

Можно ли сделать B как GSI (глобальный вторичный индекс), как сделать и запросить таблицу, используя B, поскольку B уже является ключом сортировки.

1 Ответ

0 голосов
/ 18 сентября 2018

Вам нужен ключ раздела для запроса - вы не можете сделать это, используя только ключ сортировки.Вы можете только сканировать.

Таким образом, единственный выход для вас - создать GSI с ключом разделения B.

Обновить

Да, вы можете использовать клавишу диапазона в качестве GSI.

Недостаток использования GSI:

  • Может быть максимум 5 GSI на таблицу, поэтому выбирайте с умом, чтовам нужно индексировать, так как GSI можно указать только при создании таблицы и не может быть изменен.
  • GSI будет стоить вам дополнительных денег, поскольку вам потребуется назначить ему Provisioned Throughput.
  • GSI в конечном итогеЭто означает, что DynamoDB не гарантирует, что в тот момент, когда данные, связанные с хеш-ключом таблицы, записываются в БД, хеш-ключ GSI данных немедленно становится доступным для запросов.В документе говорится, что обычно это происходит немедленно, но может случиться так, что для доступа к хеш-ключу GSI может потребоваться до нескольких секунд.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...