

La versión 2 de AWS SDK para JavaScript ha llegado al final del soporte. Se recomienda que migre a [AWS SDK para JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Para ver detalles e información adicionales sobre cómo realizar la migración, consulte este [anuncio](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

# Creación y uso de tablas en DynamoDB
<a name="dynamodb-examples-using-tables"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/es_es/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**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
<a name="dynamodb-examples-using-tables-scenario"></a>

Al igual que otros sistemas de base 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 u obtener acceso a datos de 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 de JavaScript para crear y trabajar con tablas mediante los métodos siguientes de la clase de cliente de `AWS.DynamoDB`:
+ [createTable](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#createTable-property)
+ [listTables](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#listTables-property)
+ [describeTable](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#describeTable-property)
+ [deleteTable](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#deleteTable-property)

## Tareas previas necesarias
<a name="dynamodb-examples-using-tables-prerequisites"></a>

Para configurar y ejecutar este ejemplo, primero debe completar las tareas siguientes:
+ Instale Node.js. Para obtener más información, consulte el sitio web de [Node.js](https://nodejs.org).
+ Cree un archivo de configuraciones compartidas con sus credenciales de usuario. Para obtener más información acerca de cómo crear un archivo de credenciales compartidas, consulte [Carga de credenciales en Node.js desde el archivo de credenciales compartidas](loading-node-credentials-shared.md).

## Creación de una tabla
<a name="dynamodb-examples-using-tables-creating-a-table"></a>

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 un objeto de servicio de `AWS.DynamoDB`. 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 al método `createTable` del objeto de servicio de 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 ejemplo se puede encontrar [aquí en GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/dynamodb/ddb_createtable.js).

## Creación de una lista de tablas
<a name="dynamodb-examples-using-tables-listing-tables"></a>

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 un objeto de servicio de `AWS.DynamoDB`. 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 al método `listTables` del objeto de servicio de 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 ejemplo se puede encontrar [aquí en GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/dynamodb/ddb_listtables.js).

## Descripción de una tabla
<a name="dynamodb-examples-using-tables-describing-a-table"></a>

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 un objeto de servicio de `AWS.DynamoDB`. 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 al método `describeTable` del objeto de servicio de 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 ejemplo se puede encontrar [aquí en GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/dynamodb/ddb_describetable.js).

## Eliminación de una tabla
<a name="dynamodb-examples-using-tables-deleting-a-table"></a>

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 un objeto de servicio de `AWS.DynamoDB`. 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 al método `deleteTable` del objeto de servicio de 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 ejemplo se puede encontrar [aquí en GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/dynamodb/ddb_deletetable.js).