

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

# Projeções
<a name="aws-appsync-resolver-mapping-template-reference-dynamodb-projections"></a>

Ao ler objetos no DynamoDB usando as operações `GetItem`, `Scan`, `Query`, `BatchGetItem` e `TransactGetItems`, você pode, opcionalmente, especificar uma projeção que identifique os atributos desejados. A projeção tem a seguinte estrutura, que é semelhante aos filtros: 

```
"projection" : {
    "expression" : "projection expression"
    "expressionNames" : {
        "#name" : "name",
    }
}
```

Os campos são definidos da seguinte forma:

**`expression`**   
A expressão de projeção, que é uma string. Para recuperar um único atributo, especifique o seu nome. Para vários atributos, os nomes devem ser valores separados por vírgulas. Para obter mais informações sobre como escrever expressões de projeção, consulte a documentação das [expressões de projeção do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ProjectionExpressions.html). Este campo é obrigatório. 

 **`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`. Para obter mais informações sobre `expressionNames`, consulte a [documentação do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ExpressionAttributeNames.html). 

## Exemplo 1
<a name="id25"></a>

O exemplo a seguir é uma seção de projeção para um modelo de mapeamento de VTL em que somente os atributos `author` e `id` são retornados do DynamoDB:

```
"projection" : {
    "expression" : "#author, id",
    "expressionNames" : {
        "#author" : "author"
    }
}
```

**dica**  
[Você pode acessar seu conjunto de seleção de solicitações do GraphQL usando \$1context.info. selectionSetList](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-context-reference.html#aws-appsync-resolver-context-reference-info). Esse campo permite que você ajuste sua expressão de projeção dinamicamente de acordo com seus requisitos.

**nota**  
Ao usar expressões de projeção com as operações `Scan` e `Query`, o valor de `select` deve ser `SPECIFIC_ATTRIBUTES`. Para obter mais informações, consulte a [documentação do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html#DDB-Query-request-Select).