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.
Lecture et écriture d'éléments par lots dans DynamoDB
Cet exemple Node.js de code montre :
Comment lire et écrire des lots d'éléments dans une table DynamoDB.
Scénario
Dans cet exemple, vous utilisez une série de Node.js modules pour placer un lot d'éléments dans une table DynamoDB et pour lire un lot d'éléments. Le code utilise le SDK pour effectuer des opérations de lecture et d'écriture par lots JavaScript à l'aide des méthodes suivantes de la classe cliente DynamoDB :
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éez une table DynamoDB dont vous pouvez accéder aux éléments. Pour plus d'informations sur la création d'une table DynamoDB, consultez. Création et utilisation de tableaux dans DynamoDB
Lecture des éléments par lots
Créez un Node.js module avec le nom de fichierddb_batchgetitem.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 obtenir un lot d'éléments, ce qui dans cet exemple inclut le nom d'une ou de plusieurs tables dans lesquelles lire les éléments, les valeurs des clés à lire dans chaque table et l'expression de projection qui spécifie les attributs à renvoyer. Appelez la batchGetItem 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 DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { RequestItems: { TABLE_NAME: { Keys: [ { KEY_NAME: { N: "KEY_VALUE_1" } }, { KEY_NAME: { N: "KEY_VALUE_2" } }, { KEY_NAME: { N: "KEY_VALUE_3" } }, ], ProjectionExpression: "KEY_NAME, ATTRIBUTE", }, }, }; ddb.batchGetItem(params, function (err, data) { if (err) { console.log("Error", err); } else { data.Responses.TABLE_NAME.forEach(function (element, index, array) { console.log(element); }); } });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node ddb_batchgetitem.js
Cet exemple de code se trouve ici sur GitHub
Écriture d'éléments par lots
Créez un Node.js module avec le nom de fichierddb_batchwriteitem.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 obtenir un lot d'éléments, ce qui dans cet exemple inclut la table dans laquelle vous souhaitez écrire des éléments, la ou les clés à écrire pour chaque élément, ainsi que les attributs et leurs valeurs. Appelez la batchWriteItem 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 DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { RequestItems: { TABLE_NAME: [ { PutRequest: { Item: { KEY: { N: "KEY_VALUE" }, ATTRIBUTE_1: { S: "ATTRIBUTE_1_VALUE" }, ATTRIBUTE_2: { N: "ATTRIBUTE_2_VALUE" }, }, }, }, { PutRequest: { Item: { KEY: { N: "KEY_VALUE" }, ATTRIBUTE_1: { S: "ATTRIBUTE_1_VALUE" }, ATTRIBUTE_2: { N: "ATTRIBUTE_2_VALUE" }, }, }, }, ], }, }; ddb.batchWriteItem(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 ddb_batchwriteitem.js
Cet exemple de code se trouve ici sur GitHub