

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/).

# Lectura y escritura de elementos en lotes en DynamoDB
<a name="dynamodb-example-table-read-write-batch"></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 leer y escribir lotes de elementos en una tabla de DynamoDB.

## El escenario
<a name="dynamodb-example-table-read-write-batch-scenario"></a>

En este ejemplo, va a utilizar una serie de módulos de 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 clase de cliente de DynamoDB:
+ [batchGetItem](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#batchGetItem-property)
+ [batchWriteItem](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#batchWriteItem-property)

## Tareas previas necesarias
<a name="dynamodb-example-table-read-write-batch-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).
+ Cree una tabla de DynamoDB a cuyos elementos pueda obtener acceso. Para obtener más información acerca de cómo crear una tabla de DynamoDB, consulte [Creación y uso de tablas en DynamoDB](dynamodb-examples-using-tables.md).

## Lectura de elementos en lotes
<a name="dynamodb-example-table-read-write-batch-reading"></a>

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

## Escritura de elementos en lotes
<a name="dynamodb-example-table-read-write-batch-writing"></a>

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