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

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

AWS AppSync のリゾルバーマッピングテンプレートリファレンス HTTP

注記

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

リゾルバーマッピングテンプレートを使用すると、 AWS AppSync HTTPから任意のHTTPエンドポイント AWS AppSync にリクエストを送信し、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" ] }

text/plain 本文を含む HTTPPOSTリクエストの例を次に示します。

{ "version": "2018-05-29", "method": "POST", "params": { "headers":{ "Content-Type":"text/plain" }, "body":"this is an example of text body" }, "resourcePath": "/" }

Version

注記

これは、リクエストマッピングテンプレートにのみ適用されます。

テンプレートが使用するバージョンを定義します。version はすべてのリクエストマッピングテンプレートに共通であり、必須です。

"version": "2018-05-29"

[メソッド]

注記

これは、リクエストマッピングテンプレートにのみ適用されます。

HTTP がHTTPエンドポイント AWS AppSync に送信するGET POSTメソッドまたは動詞 (PUT、、PATCH、、または DELETE)。

"method": "PUT"

ResourcePath

注記

これは、リクエストマッピングテンプレートにのみ適用されます。

アクセス対象のリソースパスです。リソースパスは、HTTPデータソースのエンドポイントとともに、 AWS AppSync サービスURLがリクエストを行う を形成します。

"resourcePath": "/v1/users"

マッピングテンプレートが評価されると、このパスはHTTPエンドポイントを含むHTTPリクエストの一部として送信されます。たとえば、前の例では次のように変換される可能性があります。

PUT <endpoint>/v1/users

Params フィールド

注記

これは、リクエストマッピングテンプレートにのみ適用されます。

検索実行時のアクションを指定するために使用され、一般に、query 値を body 内に設定します。ただし、レスポンスのフォーマットなど、他のいくつかの機能を設定できます。

ヘッダ

ヘッダー情報は、キーと値のペアです。キーと値の両方が文字列である必要があります。

例:

"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リクエスト本文が含まれます。コンテンツタイプで charset が指定されていない限り、リクエスト本文は常に UTF-8 でエンコードされた文字列です。

"body":"body string"

レスポンス

例を参照してください。こちらへ