AWS AppSync の HTTP 用 JavaScript リゾルバー関数リファレンス - AWS AppSync GraphQL

AWS AppSync の HTTP 用 JavaScript リゾルバー関数リファレンス

AWS AppSync の HTTP リゾルバー関数を使用すると、AWS AppSync から HTTP エンドポイントにリクエストを送り、HTTP エンドポイントから AWS AppSync にレスポンスを返すことができます。リクエストハンドラーを使用して、呼び出されるオペレーションの特性に関して、AWS AppSync にヒントを渡すこともできます。このセクションでは、サポートされる HTTP リゾルバーの異なる設定について説明します。

リクエスト

type HTTPRequest = { method: 'PUT' | 'POST' | 'GET' | 'DELETE' | 'PATCH'; params?: { query?: { [key: string]: any }; headers?: { [key: string]: string }; body?: any; }; resourcePath: string; };

以下のスニペットは、text/plain 本文のある HTTP POST リクエストの例です。

export function request(ctx) { return { method: 'POST', params: { headers: { 'Content-Type': 'text/plain' }, body: 'this is an example of text body', }, resourcePath: '/', }; }

[メソッド]

注記

これは、リクエストハンドラーにのみ適用されます。

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

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

ボディには、設定の際に選択する HTTP リクエストボディが含まれています。リクエストボディは、コンテンツタイプが charset に指定されている場合を除き、常に UTF-8 でエンコードされた文字列です。

"body":"body string"

応答

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