Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation des tables DynamoDB dans Java
Vous pouvez utiliser le AWS SDK for Java pour créer, mettre à jour et supprimer des tables Amazon DynamoDB, répertorier toutes les tables de votre compte ou obtenir des informations sur une table spécifique.
Rubriques
Création d'une table
Pour créer une table, vous devez fournir le nom de la table, sa clé primaire et les valeurs de débit approvisionné. L'exemple de code suivant crée un exemple de table qui utilise un Id d'attribut de type numérique comme clé primaire.
Pour créer un tableau à l'aide du AWS SDK for Java API
-
Créez une instance de la classe
DynamoDB
. -
Instanciez un
CreateTableRequest
pour fournir les informations de demande.Vous devez fournir le nom de la table, les définitions d'attribut, le schéma de clé et les valeurs de débit provisionné.
-
Exécutez la méthode
createTable
en fournissant l'objet de demande comme paramètre.
L'exemple de code suivant illustre les étapes précédentes.
La table n'est pas prête à être utilisée tant que DynamoDB ne l'a pas créée et n'a pas défini son statut sur. ACTIVE La demande createTable
retourne un objet Table
que vous pouvez utiliser pour obtenir plus d'informations sur la table.
Exemple
TableDescription tableDescription = dynamoDB.getTable(tableName).describe(); System.out.printf("%s: %s \t ReadCapacityUnits: %d \t WriteCapacityUnits: %d", tableDescription.getTableStatus(), tableDescription.getTableName(), tableDescription.getProvisionedThroughput().getReadCapacityUnits(), tableDescription.getProvisionedThroughput().getWriteCapacityUnits());
Vous pouvez appeler la méthode describe
du client pour obtenir les informations de table à tout moment.
Exemple
TableDescription tableDescription = dynamoDB.getTable(tableName).describe();
Mise à jour d'une table
Vous pouvez mettre à jour uniquement les valeurs de débit approvisionné d'une table existante. Selon les exigences de votre application, vous pourrez avoir besoin de mettre à jour ces valeurs.
Note
Pour plus d'informations sur les augmentations et réductions de débit par jour, consultez Quotas de service, de compte et de table dans Amazon DynamoDB.
Pour mettre à jour un tableau à l'aide du AWS SDK for Java API
-
Créez une instance de la classe
Table
. -
Créez une instance de la classe
ProvisionedThroughput
pour fournir les nouvelles valeurs de débit. -
Exécutez la méthode
updateTable
en fournissant l'instanceProvisionedThroughput
comme paramètre.
L'exemple de code suivant illustre les étapes précédentes.
Exemple
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build(); DynamoDB dynamoDB = new DynamoDB(client); Table table = dynamoDB.getTable("ProductCatalog"); ProvisionedThroughput provisionedThroughput = new ProvisionedThroughput() .withReadCapacityUnits(15L) .withWriteCapacityUnits(12L); table.updateTable(provisionedThroughput); table.waitForActive();
Suppression d'une table
Pour supprimer un tableau à l'aide du AWS SDK for Java API
-
Créez une instance de la classe
Table
. -
Créez une instance de la classe
DeleteTableRequest
et fournissez le nom de la table que vous voulez supprimer. -
Exécutez la méthode
deleteTable
en fournissant l'instanceTable
comme paramètre.
L'exemple de code suivant illustre les étapes précédentes.
Exemple
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build(); DynamoDB dynamoDB = new DynamoDB(client); Table table = dynamoDB.getTable("ProductCatalog"); table.delete(); table.waitForDelete();
Liste des tables
Pour répertorier les tables de votre compte, créez une instance de DynamoDB
et exécutez la méthode listTables
. L'opération ListTables ne requiert aucun paramètre.
Exemple
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build(); DynamoDB dynamoDB = new DynamoDB(client); TableCollection<ListTablesResult> tables = dynamoDB.listTables(); Iterator<Table> iterator = tables.iterator(); while (iterator.hasNext()) { Table table = iterator.next(); System.out.println(table.getTableName()); }