Verificar - AWS AppSync

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

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

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. 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. Esse campo é opcional.

Os resultados retornados pelo escaneamento do DynamoDB são automaticamente convertidos em tipos GraphQL JSON e primitivos e estão disponíveis 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).

Para obter mais informações sobre os modelos de mapeamento da resposta, consulte Visão geral do modelo de mapeamento do resolvedor.

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

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

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 o DynamoDB, consulte a Scan API documentação do DynamoDB. API