AWS AppSync 解析程式對映範本參考 HTTP - AWS AppSync

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS AppSync 解析程式對映範本參考 HTTP

注意

我們現在主要支援 APPSYNC _JS 執行階段及其文件。請考慮在此處使用 APPSYNC _JS 運行時及其指南

AWS AppSync HTTP解析器映射模板使您可以將請求從任何端點發送 AWS AppSync 到任何HTTP端點,並將響應從HTTP端點發送回。 AWS AppSync透過使用對應範本,您可以提供 AWS 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" ] }

下面是一個HTTPPOST請求的一個例子,一個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"

方法

注意

這僅適用於請求對應範本。

HTTP AWS AppSync 傳送至HTTP端點的方法或動詞 (GETPATCH、、或DELETE)。POST PUT

"method": "PUT"

ResourcePath

注意

這僅適用於請求對應範本。

您要存取的資源路徑。與資HTTP料來源中的端點一起,資源路徑會URL形成 AWS AppSync 服務向其發出要求。

"resourcePath": "/v1/users"

評估對應範本時,此路徑會作為HTTP要求的一部分傳送,包括HTTP端點。例如,之前的範例可轉譯如下:

PUT <endpoint>/v1/users

參數欄位

注意

這僅適用於請求對應範本。

用來指定搜尋執行的動作,最常見的方式是在主體內設定查詢值。不過,有多項其他功能可設定,例如回應的格式。

標頭

標頭資訊,以金鑰值對形式。金鑰與值皆必須為字串。

例如:

"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" }
本文

本文包含您選擇設定的HTTP要求主體。除非內容類型指定了字符集,否則請求主體始終是 UTF -8 編碼的字符串。

"body":"body string"

回應

請見此處範例。