Учебники

DynamoDB – Создать таблицу

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

Используйте GUI Console, Java или другой вариант для выполнения этих задач.

Создать таблицу с помощью консоли GUI

Создайте таблицу, открыв консоль по адресу https://console.aws.amazon.com/dynamodb . Затем выберите опцию «Создать таблицу».

Консоль GUI

В нашем примере создается таблица, заполненная информацией о продукте, с продуктами с уникальными атрибутами, идентифицированными по идентификационному номеру (числовой атрибут). На экране Создать таблицу введите имя таблицы в поле имени таблицы; введите первичный ключ (ID) в поле ключа раздела; и введите «Число» для типа данных.

Создать таблицу

После ввода всей информации выберите Создать .

Создать таблицу с использованием Java

Используйте Java для создания той же таблицы. Его первичный ключ состоит из следующих двух атрибутов:

  • ID – используйте ключ раздела и ScalarAttributeType N , что означает число.

  • Номенклатура – используйте ключ сортировки и ScalarAttributeType S , что означает строку.

ID – используйте ключ раздела и ScalarAttributeType N , что означает число.

Номенклатура – используйте ключ сортировки и ScalarAttributeType S , что означает строку.

Java использует метод createTable для генерации таблицы; и в вызове указываются имя таблицы, атрибуты первичного ключа и типы данных атрибута.

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

import java.util.Arrays;
 
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient; 
import com.amazonaws.services.dynamodbv2.document.DynamoDB; 
import com.amazonaws.services.dynamodbv2.document.Table; 

import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; 
import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; 
import com.amazonaws.services.dynamodbv2.model.KeyType; 
import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; 
import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType;
 
public class ProductsCreateTable {  
   public static void main(String[] args) throws Exception { 
      AmazonDynamoDBClient client = new AmazonDynamoDBClient() 
         .withEndpoint("http://localhost:8000");  
      
      DynamoDB dynamoDB = new DynamoDB(client); 
      String tableName = "Products";  
      try { 
         System.out.println("Creating the table, wait..."); 
         Table table = dynamoDB.createTable (tableName, 
            Arrays.asList ( 
               new KeySchemaElement("ID", KeyType.HASH), // the partition key 
                                                         // the sort key 
               new KeySchemaElement("Nomenclature", KeyType.RANGE)
            ),
            Arrays.asList ( 
               new AttributeDefinition("ID", ScalarAttributeType.N), 
               new AttributeDefinition("Nomenclature", ScalarAttributeType.S)
            ),
            new ProvisionedThroughput(10L, 10L)
         );
         table.waitForActive(); 
         System.out.println("Table created successfully.  Status: " + 
            table.getDescription().getTableStatus());
            
      } catch (Exception e) {
         System.err.println("Cannot create the table: "); 
         System.err.println(e.getMessage()); 
      } 
   } 
}

В приведенном выше примере обратите внимание на конечную точку: .withEndpoint .

Это указывает на использование локальной установки с использованием localhost. Также обратите внимание на обязательный параметр ProvisionedThroughput , который локальная установка игнорирует.