Accéder au contenu principal Passer au contenu complémentaire

WebHooks dans Talend Management Console

Les WebHooks peuvent déclencher l'exécution d'une tâche ou d'un plan de Job sur appel depuis une application externe.

Utilisez un déclencheur de WebHook uniquement lorsque la politique de sécurité de votre entreprise le permet :
  • Ne soumettez pas d'identifiants à un déclencheur de WebHook, car un déclencheur de WebHook ne nécessite pas d'authentification.
  • Conservez l'URL du WebHook à utiliser dans un endroit sûr, car chaque personne connaissant l'URL peut l'utiliser pour déclencher vos tâches.
  • Si l'authentification est requise, utilisez une API au lieu d'un déclencheur de WebHook.

Vous ne pouvez ajouter de nouveau déclencheur si vous avez déjà un WebHook. Vous pouvez supprimer le WebHook et les autre déclencheurs lors de la modification de la tâche/du plan. Vous pouvez également copier la tâche/le plan si vous avez besoin de ces éléments.

Note InformationsRemarque : Pour pouvoir exécuter une tâche via un WebHook, le Job source doit contenir un paramètre de contexte nommé resource_webhook_payload. Pour les plans, au moins une tâche de la première étape doit avoir un Job source avec le paramètre de contexte.
Chaque appel de l'endpoint du WebHook est intégré dans la structure JSON suivante, passée à l'exécution du Job via le paramètre resource_webhook_payload :
  • type : type de médias du payload provenant de l'en-tête Content-Type.
  • data : données du payload
Les types de payload suivants sont supportés :
  • application/xml
  • application/json
  • application/x-www-form-urlencoded
  • text/plain
  • text/xml

Les payloads sont traités comme des tableaux. La taille totale des payloads pour les Jobs Big Data ne doit pas dépasser 5 kilo-octets.

Lorsque vous générez une URL de WebHook dans Talend Management Console, vous devez configurer les paramètres suivants :
  • Window threshold : définit le nombre d'appels du service.
  • Window duration (in seconds) : définit la durée en secondes après le premier appel au service.

Le premier événement qui survient déclenche l'exécution.

Note InformationsRestriction : Le même plan ou la même tâche peut se trouver un maximum de 50 fois dans la file d'exécution (au statut Pending (En attente) ou Running (En cours d'exécution)) sur une période de 60 minutes. Si vous avez ordonnancé une tâche ou un plan via l'API publique ou via un WebHook afin de l'exécuter un plus grand nombre de fois, chaque nouvelle exécution sera ajoutée à la file après que la limite est atteinte.

Example (Exemple)

Si la taille de la fenêtre est 2, au cours du temps configuré dans le paramètre Window threshold, deux payloads consécutifs sont envoyés à l'endpoint du WebHook :

{"param":"1"}
{"param":"2"}
Cependant, l'exécution de la tâche/du plan ne les reçoit pas comme des payloads séparés mais comme un tableau :
[
{"data":"{"param":"1"}","type":"application/x-www-form-urlencoded"},
{"data":"{"param":"2"}","type":"application/x-www-form-urlencoded"}
]
Les guillemets doubles dans les payloads de WebHooks ne sont plus échappés. Si certains de vos Jobs utilisent des barres obliques inversées (\) pour les échapper, configurez la propriété suivante dans le fichier de configuration <RemoteEngineInstallation>/etc/org.talend.ipaas.rt.jobserver.client.cfg :
job.ctx.params.passthrough=true
Note InformationsRemarque : Un appel de WebHook réussi retourne une réponse HTTP 204 (No Content).

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.