メイン コンテンツをスキップする 補完的コンテンツへスキップ

Talend Management ConsoleでのWebhook

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)] (ウィンドウ期間(秒)): サービスコールをグループ化する時間枠(秒)を指定します。

最初のイベントで実行がトリガーされます。

情報メモ制約事項: 同じタスクまたはプランが実行キュー(ステータスが[Pending] (保留中)または[Running] (実行中)であるもの)に残れる回数は、60分間に最高50回までです。それを超える回数で実行されるようPublic APIやWebhookを介してタスクやプランをスケジュールしている場合、キューに新たに追加される実行は制限時間後にフェイルオーバーとなります。
Webhookペイロードの二重引用符はエスケープされなくなりました。二重引用符がバックスラッシュ( \ )によってエスケープされているジョブがある場合は、<RemoteEngineInstallation>/etc/org.talend.ipaas.rt.jobserver.client.cfg設定ファイルで次のプロパティを設定してください。
job.ctx.params.passthrough=true

webhookの呼び出しが成功すると、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.0
    レスポンスボディは次のようになります:
    Response:
               parameter
               Content-Type: text/plain;charset=UTF-8
               Content-Length: 9

Webhookトリガーワークフロー

  1. Webhookコンテキストパラメーターを設定します。

    ジョブで、着信Webhookデータ処理用の特定のコンテキストパラメーターresource_webhook_payloadを定義します。

  2. Webhook URLを生成します。

    Talend Management ConsoleでWebhook URLを生成し、ウィンドウのしきい値(呼び出し回数)とウィンドウの期間(秒単位の時間枠)を設定します。

  3. WebhookのURLを共有します。

    生成されたWebhook URLを、ペイロードの送信に使用する外部システムまたはアプリケーションに提供します。

  4. 外部システムがWebhook URLを呼び出します。

    ペイロードは、外部システムからWebhookエンドポイントに送信されます。

  5. Talend Management Consoleはジョブで使用するためにペイロードを処理します。

    受信したペイロードは解析され、resource_webhook_payload変数で指定されたスキーマに準拠した配列に変換されます。

  6. タスクまたは計画の実行がトリガーされます。

    Webhookは、設定されたパラメーターに従って実行をトリガーします。

  7. Webhook URLは、外部システムにレスポンスを返します。

    Webhookエンドポイントは、HTTP 204 No Contentまたは200 OKレスポンスを送信します。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。