本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS AppSync None
資料來源的解析器映射範本參考
注意
我們現在主要支援 APPSYNC_JS 執行期及其文件。請考慮在此處使用 APPSYNC_JS 執行期及其指南。
與類型為無 的資料來源搭配使用的 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": [ "2018-05-29" ], "title": "The Mapping template version.", "default": "2018-05-29" }, "payload": {} }, "required": [ "version" ], "additionalProperties": false }
以下是欄位引數透過VTL內容屬性傳遞的範例$context.arguments
:
{ "version": "2018-05-29", "payload": $util.toJson($context.arguments) }
payload
欄位的值會轉送至回應映射範本,並在VTL內容屬性 ($context.result
) 上提供。
這是代表 payload
欄位插入值的範例:
{ "id": "postId1" }
版本
所有請求映射範本通用的 version
欄位定義範本使用的版本。
version
欄位是必要的。
範例:
"version": "2018-05-29"
承載
payload
欄位是容器,可用來將任何格式良好的容器傳遞JSON至回應映射範本。
此 payload
欄位為選用。
回應映射範本
由於沒有資料來源,payload
欄位的值將轉送至回應映射範本,並在可透過 VTL $context.result
屬性使用的context
物件上設定。
如果您的 payload
欄位值形狀完全匹配 GraphQL 類型形狀時,您可以使用以下回應映射範本轉送回應:
$util.toJson($context.result)
沒有任何必要欄位或形狀限制適用於回應映射範本。不過,由於 GraphQL 是強類型,解析後的映射範本必須符合預期的 GraphQL 類型。