Учебники

DynamoDB — Получение предметов

Для извлечения элемента в DynamoDB необходимо использовать GetItem и указать имя таблицы и первичный ключ элемента. Не забудьте включить полный первичный ключ, а не пропускать часть.

Например, опуская ключ сортировки составного ключа.

Поведение GetItem соответствует трем параметрам по умолчанию —

  • Это выполняется как в конечном итоге последовательное чтение.
  • Он предоставляет все атрибуты.
  • Это не детализирует его потребление единицы мощности.

Эти параметры позволяют переопределить поведение GetItem по умолчанию.

Получить предмет

DynamoDB обеспечивает надежность благодаря поддержке нескольких копий элементов на нескольких серверах. Каждая успешная запись создает эти копии, но требует значительного времени для выполнения; смысл в конечном итоге соответствует. Это означает, что вы не можете сразу попытаться прочитать после записи элемента.

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

Вы можете использовать консоль с графическим интерфейсом, Java или другой инструмент для выполнения этой задачи.

Поиск предметов с использованием Java

Использование Java в операциях поиска элементов требует создания экземпляра класса DynamoDB, экземпляра класса таблицы и вызова метода getItem экземпляра таблицы. Затем укажите первичный ключ элемента.

Вы можете просмотреть следующий пример —

DynamoDB dynamoDB = new DynamoDB(new AmazonDynamoDBClient( 
   new ProfileCredentialsProvider()));  
Table table = dynamoDB.getTable("ProductList");  
Item item = table.getItem("IDnum", 109);

В некоторых случаях вам необходимо указать параметры для этой операции.

В следующем примере .withProjectionExpression и GetItemSpec для получения спецификаций поиска —

GetItemSpec spec = new GetItemSpec() 
   .withPrimaryKey("IDnum", 122) 
   .withProjectionExpression("IDnum, EmployeeName, Department") 
   .withConsistentRead(true);

Item item = table.getItem(spec);
System.out.println(item.toJSONPretty());

Вы также можете рассмотреть следующий большой пример для лучшего понимания.

Примечание. В следующем примере может использоваться ранее созданный источник данных. Прежде чем пытаться выполнить, приобретите вспомогательные библиотеки и создайте необходимые источники данных (таблицы с требуемыми характеристиками или другие ссылочные источники).

В этом примере также используется Eclipse IDE, файл учетных данных AWS и набор инструментов AWS в Java-проекте Eclipse AWS.