Creación y uso de tablas 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.

Creación y uso de tablas en DynamoDB

JavaScript code example that applies to Node.js execution

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

  • Cómo crear y administrar tablas utilizadas para almacenar y recuperar datos desde DynamoDB.

El escenario

Al igual que otros sistemas de bases de datos, DynamoDB almacena datos en tablas. Una tabla de DynamoDB es una colección de datos que se organizan en elementos similares a las filas. Para almacenar o obtener acceso a datos en DynamoDB, debe crear y trabajar con tablas.

En este ejemplo, va a utilizar una serie de módulos Node.js para realizar operaciones básicas con una tabla de DynamoDB. El código utiliza el SDK para JavaScript para crear y trabajar con tablas mediante los métodos siguientes delAWS.DynamoDBclase de cliente:

Tareas previas necesarias

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

Creación de una tabla

Cree un módulo de Node.js con el nombre de archivo ddb_createtable.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 crear una tabla, que en este ejemplo incluye el nombre y el tipo de datos para cada atributo, el esquema de claves, el nombre de la tabla y las unidades de rendimiento que deben aprovisionarse. Llame a lacreateTabledel 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 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); } });

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

node ddb_createtable.js

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

Creación de una lista de tablas

Cree un módulo de Node.js con el nombre de archivo ddb_listtables.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 una lista de las tablas, que en este ejemplo limita el número de tablas enumeradas a 10. Llame a lalistTablesdel 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 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); } });

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

node ddb_listtables.js

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

Descripción de una tabla

Cree un módulo de Node.js con el nombre de archivo ddb_describetable.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 describir una tabla, que en este ejemplo incluye el nombre de la tabla que se proporciona como parámetro de la línea de comandos. Llame a ladescribeTabledel 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 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); } });

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

node ddb_describetable.js TABLE_NAME

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

Eliminación de una tabla

Cree un módulo de Node.js con el nombre de archivo ddb_deletetable.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 eliminar una tabla. En este ejemplo, el nombre de la tabla se proporciona como parámetro de la línea de comandos. Llame a ladeleteTabledel 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 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); } });

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

node ddb_deletetable.js TABLE_NAME

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