None データソースのリゾルバーマッピングテンプレートリファレンス - AWS AppSync

None データソースのリゾルバーマッピングテンプレートリファレンス

データソースタイプ None で使用される 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": "2017-02-28"

payload

payload フィールドは、任意の正しい形式の JSON をレスポンスマッピングテンプレートに渡すために使用できるコンテナです。

payload は省略可能です。

レスポンスマッピングテンプレート

データソースがないため、payload フィールドの値がレスポンスマッピングテンプレートに転送され、context オブジェクトに設定されます。このオブジェクトは VTL $context.result プロパティ経由で利用できます。

payload フィールド値の形状と GraphQL タイプの形状が正確に一致する場合、以下のレスポンスマッピングテンプレートを使用して、レスポンスを転送できます。

$utils.toJson($context.result)

レスポンスマッピングテンプレートに適用される形状の制限や必須フィールドはありません。ただし、GraphQL が厳密に型指定されているので、解決されたマッピングテンプレートは予想される GraphQL タイプに一致する必要があります。