Uso del cliente de documentos de 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.

Uso del cliente de documentos de DynamoDB

JavaScript code example that applies to Node.js execution

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

  • Cómo obtener acceso a una tabla de DynamoDB mediante el cliente de documentos.

El escenario

El cliente de documentos de DynamoDB simplifica el trabajo con elementos ya que abstrae la noción de valores de atributos. Esta abstracción comenta los tipos de JavaScript nativos suministrados como parámetros de entrada, así como convierte datos de respuesta comentados en tipos de JavaScript nativos.

Para obtener más información acerca de la clase de cliente de documentos de DynamoDB, consulteAWS.DynamoDB.DocumentClienten la Referencia de la API de. Para obtener más información acerca de la programación con Amazon DynamoDB, consulteProgramación con DynamoDBen laGuía para desarrolladores de Amazon DynamoDB.

En este ejemplo, va a utilizar una serie de módulos Node.js para realizar operaciones básicas en una tabla de DynamoDB mediante el cliente de documentos. El código utiliza el SDK para JavaScript para consultar y analizar tablas mediante los métodos siguientes de la clase de cliente de documentos de DynamoDB:

Tareas previas necesarias

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

Obtención de un elemento de una tabla

Cree un módulo de Node.js con el nombre de archivo ddbdoc_get.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a DynamoDB, cree unAWS.DynamoDB.DocumentClientobjeto. Cree un objeto JSON que contenga los parámetros necesarios para obtener un elemento de la tabla, que en este ejemplo incluye el nombre de la tabla, el nombre de la clave hash en dicha tabla y el valor de la clave hash para el elemento que desea obtener. Llame a lagetdel cliente de documentos de 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); } });

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

node ddbdoc_get.js

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

Colocación de un elemento en una tabla

Cree un módulo de Node.js con el nombre de archivo ddbdoc_put.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a DynamoDB, cree unAWS.DynamoDB.DocumentClientobjeto. Cree un objeto JSON que contenga los parámetros necesarios para escribir un elemento en la tabla, que en este ejemplo incluye el nombre de la tabla y una descripción del elemento para añadir o actualizar que incluye el clave hash y el valor, así como los nombres y los valores de atributos que se van a establecer en el elemento. Llame a laputdel cliente de documentos de 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); } });

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

node ddbdoc_put.js

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

Actualización de un elemento en una tabla

Cree un módulo de Node.js con el nombre de archivo ddbdoc_update.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a DynamoDB, cree unAWS.DynamoDB.DocumentClientobjeto. Cree un objeto JSON que contenga los parámetros necesarios para escribir un elemento en la tabla, que en este ejemplo incluye el nombre de la tabla, la clave del elemento que se va a actualizar, un conjunto de UpdateExpressions que definen los atributos del elemento que se va a actualizar con tokens a los que asigna valores en los parámetros ExpressionAttributeValues. Llame a laupdatedel cliente de documentos de 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); } });

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

node ddbdoc_update.js

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

Consulta de una tabla

En este ejemplo, se consulta una tabla que contiene información de episodios sobre una serie de vídeos y se devuelven los títulos y subtítulos de episodios de la segunda temporada posteriores al episodio 9 que contienen una frase especificada en su subtítulo.

Cree un módulo de Node.js con el nombre de archivo ddbdoc_query.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a DynamoDB, cree unAWS.DynamoDB.DocumentClientobjeto. Cree un objeto JSON que contenga los parámetros necesarios para consultar la tabla, que en este ejemplo incluye el nombre de la tabla, los ExpressionAttributeValues necesarios para la consulta y una KeyConditionExpression que utilice dichos valores para definir qué elementos devuelve la consulta. Llame a laquerydel cliente de documentos de 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); } });

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

node ddbdoc_query.js

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

Eliminación de un elemento de una tabla

Cree un módulo de Node.js con el nombre de archivo ddbdoc_delete.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a DynamoDB, cree unAWS.DynamoDB.DocumentClientobjeto. Cree un objeto JSON que contenga los parámetros necesarios para eliminar un elemento de la tabla, que en este ejemplo incluye el nombre de la tabla, así como el nombre y el valor de la clave hash del elemento que desea eliminar. Llame a ladeletedel cliente de documentos de 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); } });

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

node ddbdoc_delete.js

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