GetItem
O GetItem permite a você orientar a função 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
A solicitação GetItem tem a seguinte estrutura:
type DynamoDBGetItem = { operation: 'GetItem'; key: { [key: string]: any }; consistentRead?: ConsistentRead; projection?: { expression: string; expressionNames?: { [key: string]: string }; }; };
Os campos são definidos da seguinte forma:
Campos GetItem
-
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 resultado do contexto (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 resolvedores de JavaScript, consulte Visão geral de resolvedores de JavaScript.
Exemplo
O exemplo a seguir é um manipulador de solicitação de função para uma consulta getThing(foo: String!, bar: String!) GraphQL:
export function request(ctx) { const {foo, bar} = ctx.args return { operation : "GetItem", key : util.dynamodb.toMapValues({foo, bar}), consistentRead : true } }
Para obter mais informações sobre a API GetItem do DynamoDB, consulte a Documentação da API do DynamoDB.