La AWS SDK pour JavaScript v2 a atteint la fin du support. Nous vous recommandons de migrer vers la AWS SDK pour JavaScript version 3. Pour plus de détails et d'informations sur la manière de migrer, veuillez consulter cette annonce
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.
Création et utilisation de tableaux dans DynamoDB
Cet exemple Node.js de code montre :
Comment créer et gérer des tables utilisées pour stocker et récupérer des données depuis DynamoDB.
Scénario
Comme d’autres systèmes de base de données, DynamoDB stocke les données dans des tables. Une table DynamoDB est un ensemble de données organisées en éléments analogues à des lignes. Pour stocker ou accéder à des données dans DynamoDB, vous devez créer des tableaux et les utiliser.
Dans cet exemple, vous utilisez une série de Node.js modules pour effectuer des opérations de base avec une table DynamoDB. Le code utilise le SDK pour créer et utiliser des tables JavaScript à l'aide des méthodes suivantes de la classe AWS.DynamoDB client :
Tâches prérequises
Pour configurer et exécuter cet exemple, réalisez tout d'abord les tâches ci-après :
Installer Node.js. Pour plus d’informations, consultez le site web Node.js
. Créez un fichier de configurations partagé avec vos informations d'identification utilisateur. Pour plus d'informations sur le fichier d'informations d'identification partagé, consultez Chargement des informations d'identification dans Node.js à partir du fichier d'informations d'identification partagé.
Création d'une table
Créez un Node.js module avec le nom de fichierddb_createtable.js. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à DynamoDB, créez un objet de AWS.DynamoDB service. Créez un objet JSON contenant les paramètres requis pour créer une table, ce qui dans cet exemple inclut le nom et le type de données de chaque attribut, le schéma de clé, le nom de la table, ainsi que les unités de débit à allouer. Appelez la createTable méthode de l'objet de service DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { AttributeDefinitions: [ { AttributeName: "CUSTOMER_ID", AttributeType: "N", }, { AttributeName: "CUSTOMER_NAME", AttributeType: "S", }, ], KeySchema: [ { AttributeName: "CUSTOMER_ID", KeyType: "HASH", }, { AttributeName: "CUSTOMER_NAME", KeyType: "RANGE", }, ], ProvisionedThroughput: { ReadCapacityUnits: 1, WriteCapacityUnits: 1, }, TableName: "CUSTOMER_LIST", StreamSpecification: { StreamEnabled: false, }, }; // Call DynamoDB to create the table ddb.createTable(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Table Created", data); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node ddb_createtable.js
Cet exemple de code se trouve ici sur GitHub
Liste de vos tables
Créez un Node.js module avec le nom de fichierddb_listtables.js. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à DynamoDB, créez un objet de AWS.DynamoDB service. Créez un objet JSON contenant les paramètres requis pour répertorier vos tables, ce qui dans cet exemple limite à 10 le nombre de tables répertoriées. Appelez la listTables méthode de l'objet de service DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); // Call DynamoDB to retrieve the list of tables ddb.listTables({ Limit: 10 }, function (err, data) { if (err) { console.log("Error", err.code); } else { console.log("Table names are ", data.TableNames); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node ddb_listtables.js
Cet exemple de code se trouve ici sur GitHub
Description d'une table
Créez un Node.js module avec le nom de fichierddb_describetable.js. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à DynamoDB, créez un objet de AWS.DynamoDB service. Créez un objet JSON contenant les paramètres requis pour décrire une table, ce qui dans cet exemple inclut le nom de la table fournie en tant que paramètre de ligne de commande. Appelez la describeTable méthode de l'objet de service DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { TableName: process.argv[2], }; // Call DynamoDB to retrieve the selected table descriptions ddb.describeTable(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Table.KeySchema); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node ddb_describetable.jsTABLE_NAME
Cet exemple de code se trouve ici sur GitHub
Suppression d'une table
Créez un Node.js module avec le nom de fichierddb_deletetable.js. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à DynamoDB, créez un objet de AWS.DynamoDB service. Créez un objet JSON contenant les paramètres requis pour décrire une table, ce qui dans cet exemple inclut le nom de la table fournie en tant que paramètre de ligne de commande. Appelez la deleteTable méthode de l'objet de service DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { TableName: process.argv[2], }; // Call DynamoDB to delete the specified table ddb.deleteTable(params, function (err, data) { if (err && err.code === "ResourceNotFoundException") { console.log("Error: Table not found"); } else if (err && err.code === "ResourceInUseException") { console.log("Error: Table in use"); } else { console.log("Success", data); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node ddb_deletetable.jsTABLE_NAME
Cet exemple de code se trouve ici sur GitHub