Nous avons annoncé
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 du client de documents DynamoDB
Cet exemple de code Node.js présente :
Comment accéder à une table DynamoDB à l'aide du client de documents
Scénario
Le client de documents DynamoDB simplifie l'utilisation des éléments en faisant abstraction de la notion de valeurs d'attribut. Cette abstraction annote les JavaScript types natifs fournis en tant que paramètres d'entrée et convertit les données de réponse annotées en types natifs JavaScript .
Pour plus d'informations sur la classe DynamoDB Document Client, AWS.DynamoDB.DocumentClient
consultez le Guide de référence des API. Pour plus d'informations sur la programmation avec Amazon DynamoDB, consultez la section Programmation avec DynamoDB dans le manuel du développeur Amazon DynamoDB.
Dans cet exemple, vous utilisez une série de modules Node.js pour effectuer des opérations de base sur une table DynamoDB à l'aide du client de documents. Le code utilise le SDK pour interroger et scanner des tables JavaScript à l'aide des méthodes suivantes de la classe DynamoDB Document Client :
Tâches prérequises
Pour configurer et exécuter cet exemple, réalisez tout d'abord les tâches ci-après :
Installez Node.js. Pour plus d'informations, consultez le site web de 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éez une table DynamoDB dont vous pouvez accéder aux éléments. Pour plus d'informations sur la création d'une table DynamoDB à l'aide du SDK JavaScript pour, consultez. Création et utilisation de tables dans DynamoDB Vous pouvez également utiliser la console DynamoDB
pour créer une table.
Obtention d'un élément à partir d'une table
Créez un module Node.js nommé ddbdoc_get.js
. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à DynamoDB, créez un objet. AWS.DynamoDB.DocumentClient
Créez un objet JSON contenant les paramètres requis pour obtenir un élément de la table, ce qui dans cet exemple inclut le nom de la table, le nom de la clé de hachage dans cette table et la valeur de la clé de hachage de l'élément que vous récupérez. Appelez la get
méthode du client de documents DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { TableName: "EPISODES_TABLE", Key: { KEY_NAME: VALUE }, }; docClient.get(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Item); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node ddbdoc_get.js
Cet exemple de code se trouve ici sur GitHub
Positionnement d'un élément dans une table
Créez un module Node.js nommé ddbdoc_put.js
. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à DynamoDB, créez un objet. AWS.DynamoDB.DocumentClient
Créez un objet JSON contenant les paramètres requis pour écrire un élément dans la table, ce qui dans cet exemple inclut le nom de la table et une description de l'élément à ajouter ou à mettre à jour qui inclut la clé de hachage et la valeur, ainsi que les noms et valeurs des attributs à définir sur l'élément. Appelez la put
méthode du client de documents DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { TableName: "TABLE", Item: { HASHKEY: VALUE, ATTRIBUTE_1: "STRING_VALUE", ATTRIBUTE_2: VALUE_2, }, }; docClient.put(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node ddbdoc_put.js
Cet exemple de code se trouve ici sur GitHub
Mise à jour d'un élément dans une table
Créez un module Node.js nommé ddbdoc_update.js
. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à DynamoDB, créez un objet. AWS.DynamoDB.DocumentClient
Créez un objet JSON contenant les paramètres requis pour écrire un élément dans la table, ce qui dans cet exemple inclut le nom de la table, la clé de l'élément à mettre à jour et un ensemble de UpdateExpressions
définissant les attributs de l'élément à mettre à jour avec les jetons auxquels vous attribuez des valeurs dans les paramètres ExpressionAttributeValues
. Appelez la update
méthode du client de documents DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); // Create variables to hold numeric key values var season = SEASON_NUMBER; var episode = EPISODES_NUMBER; var params = { TableName: "EPISODES_TABLE", Key: { Season: season, Episode: episode, }, UpdateExpression: "set Title = :t, Subtitle = :s", ExpressionAttributeValues: { ":t": "NEW_TITLE", ":s": "NEW_SUBTITLE", }, }; docClient.update(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node ddbdoc_update.js
Cet exemple de code se trouve ici sur GitHub
Interrogation d'une table
Cet exemple interroge une table qui contient des informations sur chaque épisode d'une série de vidéos, en renvoyant les titres et les sous-titres des épisodes de la deuxième saison après l'épisode 9 qui contiennent une expression spécifiée dans leur sous-titre.
Créez un module Node.js nommé ddbdoc_query.js
. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à DynamoDB, créez un objet. AWS.DynamoDB.DocumentClient
Créez un objet JSON contenant les paramètres requis pour interroger la table, ce qui dans cet exemple inclut le nom de la table, les valeurs ExpressionAttributeValues
requises par la requête et une KeyConditionExpression
qui utilise ces valeurs pour définir quels éléments sont renvoyés par la requête. Appelez la query
méthode du client de documents DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { ExpressionAttributeValues: { ":s": 2, ":e": 9, ":topic": "PHRASE", }, KeyConditionExpression: "Season = :s and Episode > :e", FilterExpression: "contains (Subtitle, :topic)", TableName: "EPISODES_TABLE", }; docClient.query(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Items); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node ddbdoc_query.js
Cet exemple de code se trouve ici sur GitHub
Suppression d'un élément d'une table
Créez un module Node.js nommé ddbdoc_delete.js
. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à DynamoDB, créez un objet. AWS.DynamoDB.DocumentClient
Créez un objet JSON contenant les paramètres requis pour supprimer un élément de la table, ce qui dans cet exemple inclut le nom de la table, ainsi que le nom et la valeur de la clé de hachage de l'élément à supprimer. Appelez la delete
méthode du client de documents DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { Key: { HASH_KEY: VALUE, }, TableName: "TABLE", }; docClient.delete(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node ddbdoc_delete.js
Cet exemple de code se trouve ici sur GitHub