Vogels с проблемой DynamoDB hashKey

Я работал с Vogels и NodeJS - Vogels обрабатывает создание схемы для меня в DynamoDB local. Работает отлично.

По какой-то причине у меня возникают проблемы при попытке развернуть приложение в AWS с помощью сервиса DynamoDB. Я получаю ошибку:

Details:TypeError: Cannot read property 'hashKey' of undefined

Я даже пытался вручную настроить схему, однако у DynamoDB нет опции hashKey в консоли AWS. Это только дает возможность для:

  • Первичный ключ / раздел (String/Binary/Number)
  • Ключ сортировки (строка / двоичный код / ​​номер)

Кто-нибудь сталкивался с этим или знает, как справиться с созданием схемы?

1 ответ

Когда вы говорите два первичных ключа. Я предполагаю, что вы имеете в виду ключ хеша и ключ сортировки (два отдельных атрибута).

Обратите внимание, что два атрибута не могут быть частью ключа хеша.

Ключ хеша - 1 атрибут

Ключ сортировки - 1 атрибут

DynamoDB поддерживает два разных вида первичных ключей:

Ключ раздела - простой первичный ключ, состоящий из одного атрибута, известного как ключ раздела. DynamoDB использует значение ключа разделения в качестве входных данных для внутренней хеш-функции; Выходные данные хеш-функции определяют раздел, в котором будет храниться элемент. Никакие два элемента в таблице не могут иметь одинаковое значение ключа раздела.

Ключ раздела и ключ сортировки - составной первичный ключ, состоящий из двух атрибутов. Первый атрибут - это ключ раздела, а второй атрибут - это ключ сортировки. DynamoDB использует значение ключа разделения в качестве входных данных для внутренней хэш-функции; выходные данные из хеш-функции определяют раздел, в котором будет храниться элемент. Все элементы с одним и тем же ключом разделения хранятся вместе в порядке сортировки по значению ключа сортировки. Два элемента могут иметь одно и то же значение ключа раздела, но эти два элемента должны иметь разные значения ключа сортировки.

Основной ключ

Снимок экрана для создания таблицы в консоли AWS:-

Создать таблицу в консоли AWS

Другие вопросы по тегам