GetItem
O documento de mapeamento de solicitação GetItem permite a você orientar o resolvedor do DynamoDB do AWS AppSync a realizar uma solicitação GetItem ao DynamoDB. Além disso, permite especificar:
-
A chave do item no DynamoDB
-
Se deve usar uma leitura consistente ou não
O documento de mapeamento GetItem possui a seguinte estrutura:
{ "version" : "2017-02-28", "operation" : "GetItem", "key" : { "foo" : ... typed value, "bar" : ... typed value }, "consistentRead" : true, "projection" : { ... } }
Os campos são definidos da seguinte forma:
Campos GetItem
-
version -
As versões de definição de modelo
2017-02-28e2018-05-29são compatíveis atualmente. Este valor é obrigatório. -
operation -
A operação do DynamoDB para execução. Para executar a operação
GetItemdo DynamoDB, ela deve ser definida comoGetItem. Este valor é obrigatório. -
key -
A chave do item no DynamoDB. Os itens do DynamoDB podem ter uma única chave de hash ou uma chave de hash e uma chave de classificação, dependendo da estrutura da tabela. Para obter mais informações sobre como especificar um "valor digitado", consulte Sistema de tipo (Mapeamento de solicitação). Este valor é obrigatório.
-
consistentRead -
Se deve ou não realizar uma leitura altamente consistente com o DynamoDB. Isso é opcional e usa como padrão
false. 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.
O item retornado do DynamoDB é automaticamente convertido 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).
Para obter mais informações sobre os modelos de mapeamento da resposta, consulte Visão geral do modelo de mapeamento do resolvedor.
Exemplo
Veja a seguir um modelo de mapeamento para uma consulta do GraphQL getThing(foo:
String!, bar: String!):
{ "version" : "2017-02-28", "operation" : "GetItem", "key" : { "foo" : $util.dynamodb.toDynamoDBJson($ctx.args.foo), "bar" : $util.dynamodb.toDynamoDBJson($ctx.args.bar) }, "consistentRead" : true }
Para obter mais informações sobre a API GetItem do DynamoDB, consulte a Documentação da API do DynamoDB.