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

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

JavaScript HTTP 的解析器函数参考

使用 Amazon AppSync HTTP 解析器函数,您可以将来自的请求发送Amazon AppSync 到任何 HTTP 端点,并将来自您的 HTTP 端点的响应发送回到Amazon AppSync。使用您的请求处理程序,您可以提供Amazon AppSync 有关要调用的操作性质的提示。本节介绍了支持的 HTTP 解析器的各种配置。

请求

type HTTPRequest = { method: 'PUT' | 'POST' | 'GET' | 'DELETE' | 'PATCH'; params?: { query?: { [key: string]: any }; headers?: { [key: string]: string }; body?: any; }; resourcePath: string; };

以下代码片段是一个 HTTP POST 请求示例,其正文为 text/plain

export function request(ctx) { return { method: 'POST', params: { headers: { 'Content-Type': 'text/plain' }, body: 'this is an example of text body', }, resourcePath: '/', }; }

方法

仅请求处理程序

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"

响应

请参见此处的示例。