

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Verificar
<a name="js-aws-appsync-resolver-reference-dynamodb-scan"></a>

A `Scan` solicitação permite que você instrua a função do AWS AppSync DynamoDB a fazer uma `Scan` solicitação ao DynamoDB e permite que você especifique o seguinte:
+ Um filtro para excluir os resultados
+ Qual índice usar
+ Quantos itens retornar
+ Se deve usar leituras consistentes
+ Token de paginação
+ Verificações paralelas

O objeto de solicitação `Scan` tem a seguinte estrutura:

```
type DynamoDBScanRequest = {
  operation: 'Scan';
  index?: string;
  limit?: number;
  consistentRead?: boolean;
  nextToken?: string;
  totalSegments?: number;
  segment?: number;
  filter?: {
    expression: string;
    expressionNames?: { [key: string]: string };
    expressionValues?: { [key: string]: any };
  };
  projection?: {
    expression: string;
    expressionNames?: { [key: string]: string };
  };
};
```

Os campos são definidos da seguinte forma:

## Verificar campos
<a name="js-scan-list"></a>

### Lista de campos de verificação
<a name="js-scan-list-col"></a>

** `operation` **  
A operação do DynamoDB para execução. Para executar a operação `Scan` do DynamoDB, ela deve ser definida como `Scan`. Este valor é obrigatório.

** `filter` **  
Um filtro que pode ser usado para filtrar os resultados do DynamoDB antes que sejam retornados. Para obter mais informações sobre os filtros, consulte [Filtros](https://docs.aws.amazon.com/appsync/latest/devguide/js-resolver-reference-dynamodb.html#js-aws-appsync-resolver-reference-dynamodb-filter). Esse campo é opcional.

** `index` **  
O nome do índice para consulta. A operação de consulta do DynamoDB permite que você faça a varredura em Índices secundários locais e Índices secundários globais, além do índice de chave primária para uma chave de hash. Se especificado, isso informa o DynamoDB para consultar o índice especificado. Se omitido, o índice da chave primária será consultado.

** `limit` **  
O número máximo de itens a serem avaliados ao mesmo tempo. Esse campo é opcional.

** `consistentRead` **  
Um booleano que indica se serão usadas leituras consistentes ao consultar o DynamoDB. Esse campo é opcional e usa como padrão `false`.

** `nextToken` **  
O token de paginação para continuar uma consulta anterior. Isso seria obtido de uma consulta anterior. Esse campo é opcional.

** `select` **  
Por padrão, a função AWS AppSync DynamoDB retorna somente os atributos projetados no índice. Se forem necessários mais atributos, esse campo pode ser definido. Esse campo é opcional. Os valores compatíveis são:    
** `ALL_ATTRIBUTES` **  
Retorna todos os atributos de item da tabela ou índice especificado. Se você consultar um índice secundário local, o DynamoDB buscará todo o item da tabela pai para cada item correspondente no índice. Se o índice estiver configurado para projetar todos os atributos de item, todos os dados podem ser obtidos no índice secundário local, e nenhuma busca será necessária.  
** `ALL_PROJECTED_ATTRIBUTES` **  
Permitido apenas ao consultar um índice. Recupera todos os atributos que foram projetados no índice. Se o índice estiver configurado para projetar todos os atributos, esse valor de retorno é equivalente a especificar `ALL_ATTRIBUTES`.  
**`SPECIFIC_ATTRIBUTES`**  
Retorna somente os atributos listados em `expression` de `projection`. Esse valor de retorno é equivalente a especificar `expression` de `projection` sem especificar nenhum valor para `Select`.

** `totalSegments` **  
O número de segmentos para particionar a tabela ao executar uma verificação paralela. Esse campo é opcional, mas deve ser especificado se `segment` estiver especificado.

** `segment` **  
O segmento da tabela nessa operação ao executar uma verificação paralela. Esse campo é opcional, mas deve ser especificado se `totalSegments` estiver especificado.

**`projection`**  
Uma projeção usada para especificar os atributos a serem retornados da operação do DynamoDB. Para obter mais informações sobre projeções, consulte [Projeções](https://docs.aws.amazon.com/appsync/latest/devguide/js-resolver-reference-dynamodb.html#js-aws-appsync-resolver-reference-dynamodb-projections). Esse campo é opcional.

Os resultados retornados pela verificação do DynamoDB são automaticamente convertidos nos tipos primitivos GraphQL e JSON e está disponível no resultado do contexto (`context.result`).

Para obter mais informações sobre a conversão de tipo do DynamoDB, consulte [Sistema de tipo (mapeamento da resposta)](https://docs.aws.amazon.com/appsync/latest/devguide/js-resolver-reference-dynamodb.html#js-aws-appsync-resolver-reference-dynamodb-typed-values-responses).

Para obter mais informações sobre JavaScript resolvedores, consulte a visão geral dos [JavaScript resolvedores](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-overview-js.html).

Os resultados possuem a seguinte estrutura:

```
{
    items = [ ... ],
    nextToken = "a pagination token",
    scannedCount = 10
}
```

Os campos são definidos da seguinte forma:

** `items` **  
Uma lista que contém os itens retornados pela verificação do DynamoDB.

** `nextToken` **  
Se houver mais resultados, `nextToken` contém um token de paginação que você pode usar em outra solicitação. AWS AppSync criptografa e ofusca o token de paginação retornado do DynamoDB. Isso impede que os dados da sua tabela sejam divulgados inadvertidamente para o chamador. Além disso, esses tokens de paginação não podem ser usados em diferentes funções ou resolvedores.

** `scannedCount` **  
O número de itens recuperados pelo DynamoDB antes da aplicação de uma expressão de filtro (se houver).

## Exemplo 1
<a name="js-id11"></a>

O exemplo a seguir é um manipulador de solicitação de função para uma consulta `allPosts` GraphQL.

Nesse exemplo, todas as entradas na tabela são retornadas.

```
export function request(ctx) {
  return { operation: 'Scan' };
}
```

## Exemplo 2
<a name="js-id12"></a>

O exemplo a seguir é um manipulador de solicitação de função para uma consulta `postsMatching(title: String!)` GraphQL.

Nesse exemplo, todas as entradas na tabela são retornadas onde o título começa com o argumento `title`.

```
export function request(ctx) {
  const { title } = ctx.args;
  const filter = { filter: { beginsWith: title } };
  return {
    operation: 'Scan',
    filter: JSON.parse(util.transform.toDynamoDBFilterExpression(filter)),
  };
}
```

Para obter mais informações sobre a API `Scan` do DynamoDB, consulte a [Documentação da API do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Scan.html).