Похоже, вы имеете в виду логическое (true / false), а не двоичное. Вы не можете создать GSI для логического атрибута в DynamoDB, но можете для строкового, числового или двоичного атрибута (который отличается от логического), поэтому вы можете рассматривать 1/0 или «принять» / «сбой» для логического логического значения.
Вы можете подумать о том, чтобы сделать этот индекс разреженным, если хотите запросить только одну сторону вашего индекса. Поэтому, если вы хотите запросить только когда есть истина (или «принять», или 1, или что-то еще), тогда, когда это не так, удалите атрибут, а не устанавливайте для него значение «отказ» или 0 et c. Это делает запросы намного более производительными, поскольку индекс меньше, но ограничение состоит в том, что вы больше не можете запрашивать случаи «сбой» / ложь / 0.
Чтобы ответить на ваши вопросы:
1) вы не можете создать индекс для логического значения, используйте строку или число (или двоичный, но, вероятно, вам нужна строка или число) 2) если вам нужно запросить только одну сторону логического значения (например, «принять», но никогда «сбой» ”) Вы можете улучшить производительность, создав разреженный индекс