DynamoDB - Crear tabla

La creación de una tabla generalmente consiste en generar la tabla, nombrarla, establecer sus atributos de clave principal y establecer tipos de datos de atributos.

Utilice la consola GUI, Java u otra opción para realizar estas tareas.

Crear tabla usando la consola GUI

Cree una mesa accediendo a la consola en https://console.aws.amazon.com/dynamodb. Luego elija la opción "Crear tabla".

Nuestro ejemplo genera una tabla con información de producto, con productos de atributos únicos identificados por un número de identificación (atributo numérico). En elCreate Tablepantalla, ingrese el nombre de la tabla dentro del campo de nombre de la tabla; ingrese la clave primaria (ID) dentro del campo de clave de partición; e ingrese “Número” para el tipo de datos.

Después de ingresar toda la información, seleccione Create.

Crear tabla usando Java

Utilice Java para crear la misma tabla. Su clave principal consta de los siguientes dos atributos:

  • ID - Utilice una clave de partición y ScalarAttributeType N, que significa número.

  • Nomenclature - Utilice una clave de clasificación y ScalarAttributeType S, que significa cadena.

Java usa el createTable methodpara generar una tabla; y dentro de la llamada, se especifican el nombre de la tabla, los atributos de clave primaria y los tipos de datos de atributos.

Puede revisar el siguiente ejemplo:

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

En el ejemplo anterior, observe el punto final: .withEndpoint.

Indica el uso de una instalación local mediante el uso de localhost. Además, tenga en cuenta los requisitosProvisionedThroughput parameter, que la instalación local ignora.