DynamoDB - Créer une table

La création d'une table consiste généralement à générer la table, à la nommer, à établir ses attributs de clé primaire et à définir les types de données d'attribut.

Utilisez la console GUI, Java ou une autre option pour effectuer ces tâches.

Créer une table à l'aide de la console GUI

Créez une table en accédant à la console à l'adresse https://console.aws.amazon.com/dynamodb. Choisissez ensuite l'option «Créer une table».

Notre exemple génère un tableau rempli d'informations sur le produit, avec des produits d'attributs uniques identifiés par un numéro d'identification (attribut numérique). dans leCreate Tableécran, entrez le nom de la table dans le champ du nom de la table; entrez la clé primaire (ID) dans le champ de clé de partition; et entrez «Numéro» pour le type de données.

Après avoir entré toutes les informations, sélectionnez Create.

Créer une table à l'aide de Java

Utilisez Java pour créer la même table. Sa clé primaire se compose des deux attributs suivants -

  • ID - Utilisez une clé de partition et le ScalarAttributeType N, ce qui signifie nombre.

  • Nomenclature - Utilisez une clé de tri et le ScalarAttributeType S, ce qui signifie chaîne.

Java utilise le createTable methodpour générer une table; et dans l'appel, le nom de la table, les attributs de clé primaire et les types de données d'attribut sont spécifiés.

Vous pouvez consulter l'exemple suivant -

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

Dans l'exemple ci-dessus, notez le point de terminaison: .withEndpoint.

Il indique l'utilisation d'une installation locale à l'aide de l'hôte local. Notez également lesProvisionedThroughput parameter, que l'installation locale ignore.