HTTP 的解析器映射模板参考 - Amazon AppSync
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

HTTP 的解析器映射模板参考

注意

我们现在主要支持 APPSYNC_JS 运行时系统及其文档。请考虑使用 APPSYNC_JS 运行时系统和此处的指南。

借助 Amazon AppSync HTTP 解析程序映射模板,您能够结束从 Amazon AppSync 到任何 HTTP 终端节点的请求,以及从 HTTP 终端节点返回 Amazon AppSync 的响应的形状。通过使用映射模板,您还可以向 Amazon AppSync 提供提示以指出要调用的操作的性质。本节介绍用于支持的 HTTP 解析器的不同映射模板。

请求映射模板

{ "version": "2018-05-29", "method": "PUT|POST|GET|DELETE|PATCH", "params": { "query": Map, "headers": Map, "body": any }, "resourcePath": string }

解析 HTTP 请求映射模板后,请求映射模板的 JSON 架构表现形式如下所示:

{ "$id": "https://aws.amazon.com/appsync/request-mapping-template.json", "type": "object", "properties": { "version": { "$id": "/properties/version", "type": "string", "title": "The Version Schema ", "default": "", "examples": [ "2018-05-29" ], "enum": [ "2018-05-29" ] }, "method": { "$id": "/properties/method", "type": "string", "title": "The Method Schema ", "default": "", "examples": [ "PUT|POST|GET|DELETE|PATCH" ], "enum": [ "PUT", "PATCH", "POST", "DELETE", "GET" ] }, "params": { "$id": "/properties/params", "type": "object", "properties": { "query": { "$id": "/properties/params/properties/query", "type": "object" }, "headers": { "$id": "/properties/params/properties/headers", "type": "object" }, "body": { "$id": "/properties/params/properties/body", "type": "string", "title": "The Body Schema ", "default": "", "examples": [ "" ] } } }, "resourcePath": { "$id": "/properties/resourcePath", "type": "string", "title": "The Resourcepath Schema ", "default": "", "examples": [ "" ] } }, "required": [ "version", "method", "resourcePath" ] }

以下是 HTTP POST 请求的示例,具有 text/plain 正文:

{ "version": "2018-05-29", "method": "POST", "params": { "headers":{ "Content-Type":"text/plain" }, "body":"this is an example of text body" }, "resourcePath": "/" }

版本

仅限请求映射模板

定义模板使用的版本。version 对于所有请求映射模板都相同且是必需的。

"version": "2018-05-29"

方法

仅限请求映射模板

Amazon AppSync 发送到 HTTP 终端节点的 HTTP 方法或动词(GET、POST、PUT、PATCH 或 DELETE)。

"method": "PUT"

ResourcePath

仅限请求映射模板

您要访问的资源路径。资源路径与 HTTP 数据源中更多终端节点一起,构成 Amazon AppSync 发出请求到的 URL。

"resourcePath": "/v1/users"

评估映射模板时,此路径作为 HTTP 请求的一部分发送,包括 HTTP 终端节点。例如,上一个示例可能会转换为如下所示:

PUT <endpoint>/v1/users

Params 字段

仅限请求映射模板

用于指定搜索执行的操作,最常见的是在正文中设置查询值。但是,可以配置若干其他功能,如响应的格式设置。

headers

标头信息(为键值对)。键和值都必须是字符串。

例如:

"headers" : { "Content-Type" : "application/json" }

目前支持的 Content-Type 标头包括:

text/* application/xml application/json application/soap+xml application/x-amz-json-1.0 application/x-amz-json-1.1 application/vnd.api+json application/x-ndjson

注意:您不能设置以下 HTTP 标头:

HOST CONNECTION USER-AGENT EXPECTATION TRANSFER_ENCODING CONTENT_LENGTH
query

指定常用选项的键值对,如 JSON 响应的代码格式设置。键和值都必须是字符串。以下示例显示如何发送 ?type=json 格式的请求字符串:

"query" : { "type" : "json" }
body

正文包含您选择要设置的 HTTP 请求正文。请求正文始终是 UTF-8 编码格式的字符串,除非内容类型指定字符集。

"body":"body string"