

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="aws-appsync-resolver-mapping-template-reference-dynamodb-scan"></a>

O documento de mapeamento de `Scan` solicitações permite que você peça ao AWS AppSync resolvedor do DynamoDB que faça uma `Scan` solicitação ao DynamoDB e 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 documento de mapeamento `Scan` possui a seguinte estrutura:

```
{
    "version" : "2017-02-28",
    "operation" : "Scan",
    "index" : "fooIndex",
    "limit" : 10,
    "consistentRead" : false,
    "nextToken" : "aPaginationToken",
    "totalSegments" : 10,
    "segment" : 1,
    "filter" : {
        ...
    },
    "projection" : {
        ...
    }
}
```

Os campos são definidos da seguinte forma:

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

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

** `version` **  
As versões de definição de modelo `2017-02-28` e `2018-05-29` são compatíveis atualmente. Este valor é obrigatório.

** `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](aws-appsync-resolver-mapping-template-reference-dynamodb-filter.md). 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, o AWS AppSync resolvedor do 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/resolver-mapping-template-reference-dynamodb.html#aws-appsync-resolver-mapping-template-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 contexto de mapeamento (`$context.result`).

Para obter mais informações sobre a conversão de tipo do DynamoDB, consulte [Sistema de tipo (mapeamento da resposta)](aws-appsync-resolver-mapping-template-reference-dynamodb-typed-values-responses.md).

Para obter mais informações sobre os modelos de mapeamento da resposta, consulte [Visão geral do modelo de mapeamento do resolvedor](resolver-mapping-template-reference-overview.md#aws-appsync-resolver-mapping-template-reference-overview).

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 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="id11"></a>

Veja a seguir um modelo de mapeamento para uma consulta `allPosts` do GraphQL.

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

```
{
    "version" : "2017-02-28",
    "operation" : "Scan"
}
```

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

Veja a seguir um modelo de mapeamento para uma consulta `postsMatching(title: String!)` do GraphQL.

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

```
{
    "version" : "2017-02-28",
    "operation" : "Scan",
    "filter" : {
        "expression" : "begins_with(title, :title)",
        "expressionValues" : {
            ":title" : $util.dynamodb.toDynamoDBJson($context.arguments.title)
        },
    }
}
```

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