Referencia de plantillas de mapeo de solucionador de AWS AppSync para el origen de datos None - AWS AppSync

Referencia de plantillas de mapeo de solucionador de AWS AppSync para el origen de datos None

nota

Ahora admitimos de forma básica el tiempo de ejecución APPSYNC_JS y su documentación. Considere la opción de utilizar el tiempo de ejecución APPSYNC_JS y sus guías aquí.

La plantilla de mapeo de solucionador de AWS AppSync que se utiliza con el origen de datos de tipo None permite dar forma a las solicitudes de operaciones locales de AWS AppSync.

Plantilla de mapeo de solicitudes

La plantilla de mapeo es sencilla y le permite transferir toda la información de contexto posible a través del campo payload.

{ "version": string, "payload": any type }

A continuación, se muestra el esquema JSON de la plantilla de mapeo de la solicitud una vez resuelta:

{ "definitions": {}, "$schema": "https://json-schema.org/draft-06/schema#", "$id": "https://aws.amazon.com/appsync/request-mapping-template.json", "type": "object", "properties": { "version": { "$id": "/properties/version", "type": "string", "enum": [ "2018-05-29" ], "title": "The Mapping template version.", "default": "2018-05-29" }, "payload": {} }, "required": [ "version" ], "additionalProperties": false }

En el siguiente ejemplo se transfieren los argumentos del campo a través de la propiedad del contexto de VTL $context.arguments:

{ "version": "2018-05-29", "payload": $util.toJson($context.arguments) }

El valor del campo payload se reenviará a la plantilla de mapeo de respuesta y estará disponible en la propiedad del contexto de VTL ($context.result).

Este es un ejemplo que representa el valor interpolado del campo payload:

{ "id": "postId1" }

Versión

El campo version es común a todas las plantillas de mapeo de solicitudes y define la versión utilizada por la plantilla.

El campo version es obligatorio.

Ejemplo:

"version": "2018-05-29"

Carga

El campo payload es un contenedor que se puede utilizar para transferir cualquier formato JSON correcto a la plantilla de mapeo de respuesta.

El campo payload es opcional.

Plantilla de mapeo de respuestas

Dado que no hay ningún origen de datos, el valor del campo payload se reenviará a la plantilla de mapeo de respuesta y se establecerá en el objeto context que está disponible a través de la propiedad $context.result de VTL.

Si la forma del valor del campo payload coincide exactamente con la forma del tipo de GraphQL, puede reenviar la respuesta mediante la siguiente plantilla de mapeo de respuesta:

$util.toJson($context.result)

No hay campos obligatorios ni restricciones de forma aplicables a la plantilla de mapeo de respuesta. Sin embargo, dado que los tipos de GraphQL son estrictos, la plantilla de mapeo resuelta debe coincidir con el tipo de GraphQL previsto.