Динамодб getitem android

Привет, я пытаюсь создать простое приложение для adnroid, работающее с Dynamodb, и следую этому руководству: Ссылка на учебник

Мне удалось подключиться к dbClient и получить доступ к таблице. Я могу успешно выполнить dbTable.putItem, а также другие методы, такие как dbTable.getTableDescription.

У меня проблемы с пониманием того, как выполнить метод dbTable.getItem, для которого в качестве входных данных требуется примитив. Я не совсем понимаю, как использовать Hashkey или первичный ключ.

Моя таблица выглядит так: Нажмите на изображение это хеш-ключи Первичный ключ

Когда я выполняю эту строку кода:

 Document doc = dbTable.getItem(new Primitive("1"));

где 1 - значение первого значения в таблице.

Я получаю эту ошибку.

java.lang.IllegalStateException: hash key type does not match the one in table defination at com.amazonaws.mobileconnectors.dynamodbv2.document.Table.makeKey(Table.java:720) at com.amazonaws.mobileconnectors.dynamodbv2.document.Table.getItem(Table.java:298) at com.example.user.dynamodb.MainActivity$1.run(MainActivity.java:65)

Можете ли вы проверить, какой hashKey вы настроили при создании таблицы в DynamoDB?

Karthikeyan 13.11.2018 22:58

@Karthikeyan Я редактировал OP, пожалуйста, посмотрите изображение. Равен ли первичный ключ Hashkey? Вы имеете в виду Хэшкей, изображение или что-то еще? Можно спросить, как определить хэш-ключ?

Roland Jacob Patalinjug 14.11.2018 08:57

Можете ли вы попробовать new Primitive(1), где вы передаете 1 без строки?

Karthikeyan 14.11.2018 19:42

передача 1 дает ту же ошибку

Roland Jacob Patalinjug 15.11.2018 08:31

DynamoDB поддерживает два типа первичных ключей: хеш-ключ и хеш-ключ и ключ диапазона. Хеш-ключ состоит из одного атрибута, который однозначно идентифицирует элемент. Ключ хеширования и диапазона состоит из двух атрибутов, которые вместе однозначно идентифицируют элемент. Можете ли вы найти в своей таблице то, что вы установили в качестве первичного ключа? Ваш хэш-ключ просто seq?

Karthikeyan 15.11.2018 18:13

Мы отслеживаем эту проблему на GitHub: github.com/aws-amplify/aws-sdk-android/issues/574

Karthikeyan 19.11.2018 20:35
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
6
180
0

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