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:-