Lectura y escritura de elementos en Batch en DynamoDB - AWS SDK for JavaScript

LaAWS SDK for JavaScript versión 3 (v3) es una reescritura de la versión 2 con algunas funciones nuevas y excelentes, incluida la arquitectura modular. Para obtener más información, consulte la Guía para desarrolladores de la versiónAWS SDK for JavaScript 3.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Lectura y escritura de elementos en Batch en DynamoDB

JavaScript code example that applies to Node.js execution

Este ejemplo de código de Node.js muestra:

  • Cómo leer y escribir lotes de elementos en una tabla de DynamoDB.

El escenario

En este ejemplo, va a utilizar una serie de módulos Node.js para poner un lote de elementos de una tabla de DynamoDB, así como para leer un lote de elementos. El código utiliza el SDK para JavaScript para realizar operaciones de lectura y escritura por lotes mediante los métodos siguientes de la clase de cliente DynamoDB:

Tareas previas necesarias

Para configurar y ejecutar este ejemplo, primero debe completar las tareas siguientes:

Lectura de elementos en lotes

Cree un módulo de Node.js con el nombre de archivo ddb_batchgetitem.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a DynamoDB, cree unAWS.DynamoDBun objeto de servicio. Cree un objeto JSON que contenga los parámetros necesarios para obtener un lote de elementos, que en este ejemplo incluye el nombre de una o varias tablas donde se leerá, los valores de claves para leer en cada tabla y la expresión de proyección que especifica los atributos que se devolverán. Llame a labatchGetItemdel objeto de servicio 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); }); } });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node ddb_batchgetitem.js

Este código de muestra se puede encontrar aquí en GitHub.

Escritura de elementos en lotes

Cree un módulo de Node.js con el nombre de archivo ddb_batchwriteitem.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a DynamoDB, cree unAWS.DynamoDBun objeto de servicio. Cree un objeto JSON que contenga los parámetros necesarios para obtener un lote de elementos, que en este ejemplo incluye la tabla en la que desea escribir elementos, las claves que desea escribir para cada elemento y los atributos junto con sus valores. Llame a labatchWriteItemdel objeto de servicio 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); } });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node ddb_batchwriteitem.js

Este código de muestra se puede encontrar aquí en GitHub.