

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

# Filtros
<a name="aws-appsync-resolver-mapping-template-reference-dynamodb-filter"></a>

Ao consultar objetos no DynamoDB usando as operações `Query` e `Scan`, opcionalmente, você pode especificar um `filter` que avalia os resultados e retorna apenas os valores desejados.

A seção de mapeamento do filtro de um documento de mapeamento `Query` ou `Scan` possui a seguinte estrutura:

```
"filter" : {
    "expression" : "filter expression"
    "expressionNames" : {
        "#name" : "name",
    },
    "expressionValues" : {
        ":value" : ... typed value
    },
}
```

Os campos são definidos da seguinte forma:

** `expression` **  
A expressão da consulta. Para obter mais informações sobre como escrever expressões de filtro, consulte a documentação do [DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html) [e ScanFilter](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ScanFilter.html) do QueryFilter DynamoDB. Esse campo deve ser especificado.

** `expressionNames` **  
As substituições para espaços reservados de *nome* do atributo da expressão, na forma de pares chave-valor. A chave corresponde a um espaço reservado de nome usado na `expression`. O valor deve ser uma string que corresponde ao nome de atributo do item no DynamoDB. Esse campo é opcional e deve ser preenchido apenas por substituições para espaços reservados de nome do atributo da expressão usados em `expression`.

** `expressionValues` **  
As substituições para espaços reservados de *valor* do atributo da expressão, na forma de pares chave-valor. A chave corresponde a um espaço reservado de valor usado na `expression` e o valor deve ser um valor digitado. Para obter mais informações sobre como especificar um "valor digitado", consulte [Sistema de tipo (Mapeamento de solicitação)](aws-appsync-resolver-mapping-template-reference-dynamodb-typed-values-request.md). Isso deve ser especificado. Esse campo é opcional e deve ser preenchido apenas por substituições para espaços reservados de valor do atributo da expressão usados em `expression`.

## Exemplo
<a name="id18"></a>

Veja a seguir uma seção de filtro para um modelo de mapeamento, onde as entradas recuperadas do DynamoDB só são retornadas se o título começa com o argumento `title`.

```
"filter" : {
    "expression" : "begins_with(#title, :title)",
    "expressionNames" : {
        "#title" : "title"
    },
    "expressionValues" : {
        ":title" : $util.dynamodb.toDynamoDBJson($context.arguments.title)
    }
}
```