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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

注記

現在、主に APPSYNC_JS ランタイムとそのドキュメントをサポートしています。こちらにある APPSYNC_JS ランタイムとそのガイドの使用をご検討ください。

データソースタイプ 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": [ "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

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

payload フィールドはオプションです。

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

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

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

$util.toJson($context.result)

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