Amazon DynamoDB получает элементы в виде строки - PullRequest
1 голос
/ 25 февраля 2012

Я сталкиваюсь с трудностями при получении данных из моей таблицы. Я использую Amazon Dynamo DB и успешно заполнил свою таблицу. Когда я сканирую таблицу или использую getItem, возвращаемая информация имеет тип AttributeValue. Я просмотрел документацию и не могу найти, как вам следует обработать AttributeValue, чтобы он стал int или строкой. Пример кода сканирования с веб-сайта Amazon содержит информацию, возвращаемую в объекте Dictionary, но это словарь со строками, сопоставленными со значениями атрибутов. Знаете ли вы о том, чтобы в любом случае запросить таблицу Dynamo DB и сохранить результат в чем-то, где строки отображаются в строку или строки отображаются в целые числа?

1 Ответ

3 голосов
/ 26 февраля 2012

Если вы используете AWS SDK для Java , объекты Class AttributeValue могут иметь тип String, Number, StringSet, NumberSet и функции классасоответственно получатели / установщики, например:

  • public String getN () - Числа являются положительными или отрицательными точными десятичными и целыми числами.Число может иметь точность до 38 цифр и может быть от 10 ^ -128 до 10 ^ + 126.
  • public String getS () - Строки имеют Unicodeс бинарным кодированием UTF-8.Максимальный размер ограничен размером первичного ключа (1024 байта в качестве части диапазона ключа или 2048 байтов в качестве хэш-ключа одной части) или размером элемента (64 КБ).

Обратите внимание, что возвращаемое значение getN() по-прежнему является строкой и должно быть соответственно преобразовано вашей строкой Java в выбранный метод преобразования чисел.Эта неявная слабая типизация типов данных DynamoDB извлечение / отправка на основе только параметров String немного неудачна и не совсем облегчает разработку, см., Например, мой ответ на Ошибка в API batchGetItem в java за такой вопрос.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...