类型为“无”的数据源解析程序映射模板参考 - AWS AppSync
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

类型为“无”的数据源解析程序映射模板参考

通过用于类型为“无”的数据源的 AWS AppSync 解析程序映射模板,您可以构建 AWS AppSync 本地操作的请求形状。

请求映射模板

映射模板很简单,使您能够通过 payload 字段传递尽可能多的上下文信息。

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

下面是请求映射模板的 JSON 架构表示形式(解析后):

{ "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": [ "2017-02-28" ], "title": "The Mapping template version.", "default": "2017-02-28" }, "payload": {} }, "required": [ "version" ], "additionalProperties": false }

在下面的示例中,我们选择通过 VTL 上下文属性 $context.arguments 传递字段参数:

{ "version": "2017-02-28", "payload": $utils.toJson($context.arguments) }

payload 字段的值将转发到响应映射模板并可用于 VTL 上下文属性 ($context.result) 上。

这是一个表示 payload 字段的内插值的示例:

{ "id": "postId1" }

version

version 定义模板使用的版本,这一点对于所有请求映射模板都相同。

version 是必需的。

例如:

"version": "2017-02-28"

payload

payload 字段是一个容器,可用于将任何格式正确的 JSON 传递到响应映射模板。

payload 为可选项。

响应映射模板

由于不存在任何数据源,payload 字段的值将转发到响应映射模板并在 context 对象上设置(此对象可通过 VTL $context.result 属性提供)。

如果 payload 字段值的形状与 GraphQL 类型的形状完全相符,您可以使用以下响应映射模板转发响应:

$utils.toJson($context.result)

没有必填字段,也没有形状限制应用于响应映射模板。但是,由于 GraphQL 是强类型化的,因此解析的映射模板必须与预期的 GraphQL 类型匹配。