GetItem - AWS AppSync GraphQL

GetItem

La solicitud GetItem permite indicar a la función de DynamoDB de AWS AppSync que realice una solicitud GetItem a DynamoDB, así como especificar lo siguiente:

  • La clave del elemento de DynamoDB

  • Si se utiliza una lectura consistente o no.

La solicitud GetItem tiene la estructura siguiente:

type DynamoDBGetItem = { operation: 'GetItem'; key: { [key: string]: any }; consistentRead?: ConsistentRead; projection?: { expression: string; expressionNames?: { [key: string]: string }; }; };

Los campos se definen de la siguiente manera:

Campos GetItem

operation

La operación de DynamoDB que se ha de realizar. Para ejecutar la operación de DynamoDB GetItem, este valor se debe establecer en GetItem. Este valor es obligatorio.

key

La clave del elemento de DynamoDB. Los elementos de DynamoDB pueden tener solo una clave hash o una clave hash y una clave de clasificación, dependiendo de la estructura de la tabla. Para obtener más información sobre cómo especificar un “valor con tipo”, consulte Sistema de tipos (mapeo de solicitud). Este valor es obligatorio.

consistentRead

Indica si se realizará o no una lectura lectura altamente coherente con DynamoDB. Este valor es opcional y de forma predeterminada es false.

projection

Proyección que se utiliza para especificar los atributos que se devolverán de la operación de DynamoDB. Para obtener más información acerca de las proyecciones, consulte la sección Proyecciones. Este campo es opcional.

El elemento que se devuelve desde DynamoDB se convierte automáticamente a tipos primitivos de GraphQL y JSON, y se encuentra disponible en el resultado del contexto (context.result).

Para obtener más información sobre la conversión de tipos de DynamoDB, consulte la sección Sistema de tipos (mapeo de respuestas).

Para obtener más información sobre los solucionadores de JavaScript, consulte el artículo sobre la descripción general de los solucionadores de JavaScript.

Ejemplo

El siguiente ejemplo es un controlador de solicitudes de función para una consulta de GraphQL getThing(foo: String!, bar: String!):

export function request(ctx) { const {foo, bar} = ctx.args return { operation : "GetItem", key : util.dynamodb.toMapValues({foo, bar}), consistentRead : true } }

Para obtener más información sobre la API GetItem de DynamoDB, consulte la documentación de la API de DynamoDB.