Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Webhooks in Talend Management Console

Webhooks können die Ausführung einer Job-Task oder eines Job-Plans ausgehend von Aufrufen von externen Anwendungen auslösen.

Verwenden Sie einen Webhook-Trigger nur dann, wenn die Sicherheitsrichtlinien Ihrer Organisation dies zulassen:
  • Übergeben Sie keine Anmeldedaten an einen Webhook-Trigger, da dieser keinerlei Authentifizierung erfordert.
  • Bewahren Sie die Webhook-URL an einem geheimen Ort auf, da jeder beliebige Benutzer die URL zur Auslösung Ihrer Task verwenden 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. Bei der Bearbeitung einer Task bzw. eines Plans können Sie die anderen Trigger löschen und einen Webhook hinzufügen. Oder Sie kopieren die Task bzw. den Plan, wenn Sie beides benötigen.

InformationshinweisAnmerkung: Um eine Task über einen Webhook ausführen zu können, muss der Quell-Job einen Webhook-Kontextparameter namens resource_webhook_payload enthalten. Für Pläne muss mindestens eine Task im ersten Schritt einen Quell-Job mit dem Kontextparameter aufweisen.
Jeder Aufruf des Webhook-Endpunkts ist in die folgende JSON-Struktur eingeschlossen, die über den Parameter resource_webhook_payload an die Jobausführung übergeben wird:
  • type: Medientyp der Payload, dem Header vom Typ Inhalt entnommen
  • data: Payload-Daten
Die folgenden Payload-Typen werden unterstützt:
  • application/xml
  • application/json
  • application/x-www-form-urlencoded
  • text/plain
  • text/xml

Payloads werden als Array verarbeitet. Die Gesamtgröße der Payload für Big Data-Jobs darf 5 KB nicht überschreiten.

Bei der Generierung einer Webhook-URL in Talend Management Console müssen Sie folgende Parameter einstellen:
  • Window threshold (Fenstergrenze): Legt die Anzahl der Aufrufe des Dienstes fest.
  • Window duration (in seconds) (Fensterdauer (in Sekunden)): Legt die Anzahl der Sekunden nach dem ersten Dienstaufruf fest.

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.

Beispiel

Bei einer Fenstergrenze von 2 werden während des im Parameter Window duration (Fensterdauer) festgelegten Zeitraums zwei aufeinander folgende Payloads an den Webhook-Endpunkt gesendet:

{"param":"1"}
{"param":"2"}
Die Task-/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"}
]
Doppelte Anführungszeichen in Webhook-Payloads werden nicht mehr maskiert. Wenn Sie in einigen Ihrer Jobs nach wie vor einen Backslash (\) verwenden, um die Payloads zu maskieren, legen Sie die folgende Eigenschaft in der Konfigurationsdatei <RemoteEngineInstallation>/etc/org.talend.ipaas.rt.jobserver.client.cfg fest:
job.ctx.params.passthrough=true
InformationshinweisAnmerkung: Ein erfolgreicher Webhook-Aufruf gibt die HTTP-Antwort 204 (No Content) (204 (Kein Inhalt)) zurück.

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!