Talend Management ConsoleでのWebhook
Webhookを使用して、外部アプリケーションの呼び出しに基づいてジョブタスクまたはプランをトリガーします。
- 認証は必要ないため、Webhookトリガー要求には機密の認証情報を含めないでください。
- Webhook URLは、誰でもタスクをトリガーするために使用できるため、安全に保管してください。
- 認証が必要な場合は、WebhookトリガーではなくAPIプログラムの使用を検討してください。
既に他のトリガーがある場合、Webhookは追加できません。Webhookを追加するには、既存のトリガーを削除するか、両方のタイプのトリガーが必要な場合はタスクまたはプランを複製してください。
Webhook固有のパラメーター
Webhookを使用するには、ソースジョブでresource_webhook_payloadコンテキストパラメーターを定義する必要があります。プランを実行するには、最初のステップの少なくとも1つのタスクに、このパラメーターを伴うソースジョブがあることが必要です。
ペイロードは配列として処理され、ビッグデータジョブの場合、最大サイズは5 KBです。サポートされているペイロードタイプには、JSON、XML、およびプレーンテキストがあります。詳細については、Webhookペイロードをご覧ください。
Talend Management ConsoleでWebhook URLを生成する時は、次のパラメーターを設定する必要があります。
- [Window threshold] (ウィンドウのしきい値): 時間ウィンドウ内にグループ化するサービス呼び出しの数を定義します。
たとえば、ウィンドウサイズが2であれば、[Window threshold] (ウィンドウのしきい値)パラメーターで設定された時間のうちに連続する2つのペイロードがWebhookエンドポイントに送信されます。
{"param":"1"} {"param":"2"}ただし、タスクやプランの実行ではこれらを2つの別個のペイロードとしてではなく、1つの配列として受信します。[ {"data":"{"param":"1"}","type":"application/x-www-form-urlencoded"}, {"data":"{"param":"2"}","type":"application/x-www-form-urlencoded"} ] - [Window duration(in seconds)] (ウィンドウ期間(秒)): サービスコールをグループ化する時間枠(秒)を指定します。
最初のイベントで実行がトリガーされます。
job.ctx.params.passthrough=truewebhookの呼び出しが成功すると、HTTP 204 (コンテンツなし)という応答が返されます。
- Salesforce: Salesforce独自のペイロード(soap.sforce.com参照など)が含まれている呼び出しは、レスポンスボディが空の場合でも、204 No Contentではなく200 OKで応答します。
- Dropbox:DropboxWebhooks/1.0ユーザーエージェントヘッダーがリクエストに含まれている場合、Webhookは200 OKで応答し、チャレンジパラメーターの値をレスポンスボディに含めます。たとえば、次のような呼び出しの場合:レスポンスボディは次のようになります:
GET https://webhooks.eu.cloud.talend.com/mywebhook/11fe60a514414a2a8b938b29084c4a29?challenge=parameter User-Agent: DropboxWebhooks/1.0Response: parameter Content-Type: text/plain;charset=UTF-8 Content-Length: 9
Webhookトリガーワークフロー
-
Webhookコンテキストパラメーターを設定します。
ジョブで、着信Webhookデータ処理用の特定のコンテキストパラメーターresource_webhook_payloadを定義します。
-
Webhook URLを生成します。
Talend Management ConsoleでWebhook URLを生成し、ウィンドウのしきい値(呼び出し回数)とウィンドウの期間(秒単位の時間枠)を設定します。
-
WebhookのURLを共有します。
生成されたWebhook URLを、ペイロードの送信に使用する外部システムまたはアプリケーションに提供します。
-
外部システムがWebhook URLを呼び出します。
ペイロードは、外部システムからWebhookエンドポイントに送信されます。
-
Talend Management Consoleはジョブで使用するためにペイロードを処理します。
受信したペイロードは解析され、resource_webhook_payload変数で指定されたスキーマに準拠した配列に変換されます。
-
タスクまたは計画の実行がトリガーされます。
Webhookは、設定されたパラメーターに従って実行をトリガーします。
-
Webhook URLは、外部システムにレスポンスを返します。
Webhookエンドポイントは、HTTP 204 No Contentまたは200 OKレスポンスを送信します。