Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Webhooks in Talend Management Console

Verwenden Sie Webhooks, um Job-Tasks oder Pläne basierend auf externen Anwendungsaufrufen auszulösen.

Wenn Sie Webhook-Auslöser verwenden, beachten Sie die folgenden Sicherheitsmaßnahmen:
  • Schließen Sie keine sensiblen Anmeldedaten in eine Webhook-Trigger-Anforderung ein, da diese keinerlei Authentifizierung erfordert.
  • Bewahren Sie die Webhook-URL an einem sicheren Ort auf, da sie von beliebigen Benutzern zum Auslösen Ihrer Tasks verwendet werden kann.
  • Sollte eine Authentifizierung erforderlich sein, dann ziehen Sie die Verwendung einer API anstelle eines Webhook-Triggers in Betracht.

Sie können keinen Webhook hinzufügen, wenn Sie bereits über andere Trigger-Typen verfügen. Zum Hinzufügen eines Webhooks löschen Sie vorhandene Trigger oder duplizieren Sie die Task oder den Plan, wenn beide Trigger-Typen benötigt werden.

Webhook-spezifische Parameter

Damit ein Webhook verwendet werden kann, muss der Quell-Job den Kontextparameter resource_webhook_payload definieren. Für Pläne muss mindestens eine Task im ersten Schritt einen Quell-Job mit diesem Parameter aufweisen.

Payloads werden als Arrays mit einer maximalen Größe von 5 KB für Big Data-Jobs verarbeitet. Unterstützte Payload-Typen sind u. a. JSON, XML und einfacher Text. Weitere Informationen finden Sie unter Webhook-Payload.

Bei der Generierung einer Webhook-URL in Talend Management Console müssen Sie folgende Parameter konfigurieren:

  • Window threshold (Fensterschwellenwert): Legt die Anzahl der Dienstaufrufe an die Gruppe innerhalb eines Zeitfensters fest.

    Beispielsweise werden bei einer Fenstergröße von 2 während des im Parameter Window duration (Fensterdauer) festgelegten Zeitfensters zwei aufeinander folgende Payloads an den Webhook-Endpunkt gesendet:

    {"param":"1"}
    {"param":"2"}
    Die Task- bzw. Planausführung empfängt diese jedoch nicht als zwei separate Payloads, sondern als Array:
    [
    {"data":"{"param":"1"}","type":"application/x-www-form-urlencoded"},
    {"data":"{"param":"2"}","type":"application/x-www-form-urlencoded"}
    ]
  • Window duration(in seconds) (Zeitfensterdauer (in Sekunden)): Gibt das Zeitfenster (in Sekunden) für die Gruppierung von Dienstaufrufen an.

Das zuerst auftretende Ereignis löst die Ausführung aus.

InformationshinweisEinschränkung: Eine Task bzw. ein Plan darf sich während eines 60-Minuten-Zeitraums maximal 50 Mal in der Ausführungsschlange (im Status Pending (Ausstehend) oder Running (Wird ausgeführt)) befinden. Wenn eine Task oder ein Plan über die öffentliche API oder einen Webhook für eine häufigere Ausführung geplant wurde, scheitert jede neue Ausführung, die in der Warteschlange hinzugefügt wird, sobald diese Grenze erreicht ist.
Doppelte Anführungszeichen in Webhook-Payloads werden nicht mehr maskiert. Wenn Sie in einigen Ihrer Jobs nach wie vor einen Backslash (\) als Escape-Zeichen verwenden, legen Sie die folgende Eigenschaft in der Konfigurationsdatei <RemoteEngineInstallation>/etc/org.talend.ipaas.rt.jobserver.client.cfg fest:
job.ctx.params.passthrough=true

Ein erfolgreicher Webhook-Aufruf gibt die HTTP-Antwort 204 (No Content) (204 (Kein Inhalt)) zurück.

InformationshinweisWichtig: Antwort-Sonderfälle:
  • Salesforce: Aufrufe mit Salesforce-spezifischen Payloads (die z. B. die soap.sforce.com-Referenzen enthalten) antworten mit 200 OK anstelle von 204 Kein Inhalt, auch wenn der Antwortkörper leer ist.
  • Dropbox: Wenn der User-Agent-Header DropboxWebhooks/1.0 in die Anforderung eingeschlossen wird, antwortet der Webhook mit 200 OK und schließt den Wert des Parameters challenge in den Antwortkörper ein. Beispiel: Für einen Aufruf wie
    GET https://webhooks.eu.cloud.talend.com/mywebhook/11fe60a514414a2a8b938b29084c4a29?challenge=parameter
               User-Agent: DropboxWebhooks/1.0
    sieht der Antwortkörper wie folgt aus:
    Response:
               parameter
               Content-Type: text/plain;charset=UTF-8
               Content-Length: 9

Webhook-Trigger-Workflow

  1. Richten Sie den Webhook-Kontextparameter ein.

    Sie definieren einen spezifischen Kontextparameter, resource_webhook_payload, im Job, um eingehende Webhook-Daten zu verarbeiten.

  2. Generieren Sie eine Webhook-URL.

    Sie generieren eine Webhook-URL in Talend Management Console und konfigurieren Window threshold (Fensterschwellenwert) (Anzahl der Aufrufe) und Window duration (Fensterdauer) (Zeitraum in Sekunden).

  3. Teilen Sie die Webhook-URL.

    Sie stellen die generierte Webhook-URL an externe Systeme oder Anwendungen bereit, die sie zum Senden von Payloads verwenden.

  4. Das externe System ruft die Webhook-URL auf.

    Payloads werden von externen Systemen an den Webhook-Endpunkt gesendet.

  5. Talend Management Console verarbeitet die Payloads, um sie in Ihrem Job zu verwenden.

    Eingehende Payloads werden analysiert und in einen Array konvertiert, der dem von der Variablen resource_webhook_payload erwarteten Schema entspricht.

  6. Die Task- bzw. Planausführung wird ausgelöst.

    Der Webhook löst die Ausführung entsprechend den konfigurierten Parametern aus.

  7. Die Webhook-URL gibt eine Antwort an das externe System zurück.

    Der Webhook-Endpunkt sendet eine HTTP-Antwort 204 Kein Inhalt oder 200 OK.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!