

O AWS SDK para JavaScript v2 chegou ao fim do suporte. Recomendamos migrar para o [AWS SDK para JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Para ver detalhes e informações sobre como migrar, consulte este [anúncio](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

# Consultar e verificar uma tabela do DynamoDB
<a name="dynamodb-example-query-scan"></a>

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

**Este exemplo de código Node.js mostra:**
+ Como consultar e verificar uma tabela do DynamoDB em busca de itens.

## O cenário
<a name="dynamodb-example-table-query-scan-scenario"></a>

Consultar encontra itens em uma tabela ou um índice secundário usando apenas valores de atributo de chave primária. Você deve fornecer um nome da chave de partição e um valor a serem procurados. Você pode fornecer um nome da chave e um valor de classificação, além de usar um operador de comparação para refinar os resultados da pesquisa. Pesquisar encontra itens ao verificar todos os itens na tabela especificada.

Neste exemplo, você usa uma série de módulos Node.js para identificar um ou mais itens que queira recuperar de uma tabela do DynamoDB. O código usa o SDK para JavaScript para consultar e verificar tabelas usando esses métodos da classe de cliente do DynamoDB:
+ [query](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#query-property)
+ [scan](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#scan-property)

## Tarefas de pré-requisito
<a name="dynamodb-example-table-query-scan-prerequisites"></a>

Para configurar e executar este exemplo, primeiro conclua estas tarefas:
+ Instale o Node.js. Para obter mais informações, consulte o website [Node.js](https://nodejs.org).
+ Crie um arquivo de configurações compartilhado com as credenciais de usuário. Para obter mais informações sobre como fornecer um arquivo de credenciais compartilhadas, consulte [Carregar credenciais em Node.js do arquivo de credenciais compartilhado](loading-node-credentials-shared.md).
+ Crie uma tabela do DynamoDB cujos itens você possa acessar. Para obter mais informações sobre como criar uma tabela do DynamoDB, consulte [Criação e uso de tabelas no DynamoDB](dynamodb-examples-using-tables.md).

## Consultar uma tabela
<a name="dynamodb-example-table-query-scan-querying"></a>

Este exemplo consulta uma tabela que contém informações do episódio sobre uma série de vídeos, retornando os títulos e as legendas do episódio da segunda temporada anteriores ao episódio 9 que contenham uma frase especificada na legenda.

Crie um módulo do Node.js com o nome de arquivo `ddb_query.js`. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o DynamoDB, crie um objeto de serviço do `AWS.DynamoDB`. Crie um objeto JSON que contenha os parâmetros necessários para consultar a tabela, que, neste exemplo, inclui o nome da tabela, o `ExpressionAttributeValues` necessário pela consulta, um `KeyConditionExpression` que usa esses valores para definir quais itens a consulta retorna, e os nomes dos valores de atributo a serem retornados para cada item. Chame o método `query` do objeto de serviço do 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 = {
  ExpressionAttributeValues: {
    ":s": { N: "2" },
    ":e": { N: "09" },
    ":topic": { S: "PHRASE" },
  },
  KeyConditionExpression: "Season = :s and Episode > :e",
  ProjectionExpression: "Episode, Title, Subtitle",
  FilterExpression: "contains (Subtitle, :topic)",
  TableName: "EPISODES_TABLE",
};

ddb.query(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    //console.log("Success", data.Items);
    data.Items.forEach(function (element, index, array) {
      console.log(element.Title.S + " (" + element.Subtitle.S + ")");
    });
  }
});
```

Para executar o exemplo, digite o seguinte na linha de comando.

```
node ddb_query.js
```

Este código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/dynamodb/ddb_query.js).

## Verificação de uma tabela
<a name="dynamodb-example-table-query-scan-scanning"></a>

Crie um módulo do Node.js com o nome de arquivo `ddb_scan.js`. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o DynamoDB, crie um objeto de serviço do `AWS.DynamoDB`. Crie um objeto JSON que contenha os parâmetros necessários para verificar a tabela em busca de itens, que, neste exemplo, inclui o nome da tabela, a lista de valores de atributos a serem retornados para cada item correspondente e uma expressão para filtrar o conjunto de resultados a fim de encontrar itens que contenham uma frase especificada. Chame o método `scan` do objeto de serviço do DynamoDB.

```
// Load the AWS SDK for Node.js.
var AWS = require("aws-sdk");
// Set the AWS Region.
AWS.config.update({ region: "REGION" });

// Create DynamoDB service object.
var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" });

const params = {
  // Specify which items in the results are returned.
  FilterExpression: "Subtitle = :topic AND Season = :s AND Episode = :e",
  // Define the expression attribute value, which are substitutes for the values you want to compare.
  ExpressionAttributeValues: {
    ":topic": { S: "SubTitle2" },
    ":s": { N: 1 },
    ":e": { N: 2 },
  },
  // Set the projection expression, which are the attributes that you want.
  ProjectionExpression: "Season, Episode, Title, Subtitle",
  TableName: "EPISODES_TABLE",
};

ddb.scan(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
    data.Items.forEach(function (element, index, array) {
      console.log(
        "printing",
        element.Title.S + " (" + element.Subtitle.S + ")"
      );
    });
  }
});
```

Para executar o exemplo, digite o seguinte na linha de comando.

```
node ddb_scan.js
```

Este código de exemplo pode ser encontrado [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascript/example_code/dynamodb/ddb_scan.js).