DynamoDB - Criar Tabela

A criação de uma tabela geralmente consiste em gerar a tabela, nomeá-la, estabelecer seus atributos de chave primária e definir tipos de dados de atributo.

Utilize o console da GUI, Java ou outra opção para executar essas tarefas.

Criar tabela usando o console da GUI

Crie uma tabela acessando o console em https://console.aws.amazon.com/dynamodb. Em seguida, escolha a opção “Criar Tabela”.

Nosso exemplo gera uma tabela preenchida com informações do produto, com produtos de atributos únicos identificados por um número de identificação (atributo numérico). NoCreate Tabletela, insira o nome da tabela no campo de nome da tabela; insira a chave primária (ID) no campo da chave de partição; e digite “Número” para o tipo de dados.

Após inserir todas as informações, selecione Create.

Criar tabela usando Java

Use Java para criar a mesma tabela. Sua chave primária consiste nos dois atributos a seguir -

  • ID - Use uma chave de partição e o ScalarAttributeType N, significando número.

  • Nomenclature - Use uma chave de classificação e o ScalarAttributeType S, significando string.

Java usa o createTable methodpara gerar uma tabela; e dentro da chamada, nome da tabela, atributos de chave primária e tipos de dados de atributo são especificados.

Você pode revisar o seguinte exemplo -

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()); 
      } 
   } 
}

No exemplo acima, observe o endpoint: .withEndpoint.

Indica o uso de uma instalação local usando o localhost. Além disso, observe o necessárioProvisionedThroughput parameter, que a instalação local ignora.