

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

# Uso del cliente de documentos de DynamoDB
<a name="dynamodb-example-document-client"></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 obtener acceso a una tabla de DynamoDB mediante el cliente de documentos.

## El escenario
<a name="dynamodb-example-document-client-scenario"></a>

El cliente de documentos de DynamoDB simplifica el trabajo con los 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 sobre la clase del cliente de documentos de DynamoDB, consulte [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html) en la referencia de la API. Para obtener más información sobre la programación con Amazon DynamoDB, consulte [Programación con DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.html) en la *Guía para desarrolladores de Amazon DynamoDB*.

En este ejemplo, va a utilizar una serie de módulos de 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:
+ [get](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#get-property)
+ [put](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#put-property)
+ [update](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#update-property)
+ [consulta](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#query-property)
+ [delete](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#delete-property)

## Tareas previas necesarias
<a name="dynamodb-example-document-client-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 utilizando el SDK para JavaScript, consulte [Creación y uso de tablas en DynamoDB](dynamodb-examples-using-tables.md). También puede utilizar la [consola de DynamoDB](https://console.aws.amazon.com/dynamodb/) para crear una tabla.

## Obtención de un elemento de una tabla
<a name="dynamodb-example-document-client-get"></a>

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

## Colocación de un elemento en una tabla
<a name="dynamodb-example-document-client-put"></a>

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

## Actualización de un elemento en una tabla
<a name="dynamodb-example-document-client-update"></a>

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

## Consulta de una tabla
<a name="dynamodb-example-document-client-query"></a>

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

## Eliminación de un elemento de una tabla
<a name="dynamodb-example-document-client-delete"></a>

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