DataWorks met à votre disposition un nœud de déclenchement HTTP. Ce dernier vous permet de lancer l'exécution du nœud et de ses nœuds en aval au sein d'un flux de travail depuis un environnement externe, tel qu'un système local ou un environnement inter-locataires, en appelant une opération OpenAPI. Cette fonctionnalité facilite le déclenchement des tâches depuis votre système local ou la gestion des dépendances entre tâches dans des contextes inter-locataires.
Présentation du produit
Un nœud de déclenchement HTTP est un nœud virtuel spécial qui vous permet d'utiliser l'opération OpenAPI DataWorks TriggerSchedulerTaskInstance pour déclencher la planification de ce nœud ainsi que celle de ses nœuds en aval.
Mécanisme de déclenchement
Le nœud de déclenchement HTTP active ses nœuds en aval uniquement lorsque ses nœuds en amont ont abouti et qu'un système externe envoie une commande de planification. Pour consulter un schéma illustrant l'utilisation du nœud de déclenchement HTTP, reportez-vous à la section Schéma d'utilisation.
Schéma d'utilisation
Le nœud de déclenchement HTTP est couramment employé pour assurer la communication entre les environnements externes et le système de planification de DataWorks.
Description du schéma :
Dans Data Studio, créez un flux de travail contenant un nœud de déclenchement HTTP, configurez les dépendances pour chaque nœud, puis déployez le flux vers le Centre d'opérations.
Le système génère automatiquement des instances planifiées selon l'horaire défini. Vous pouvez extraire de ces instances les informations relatives au nœud de déclenchement HTTP, telles que son ID de tâche et son heure de déclenchement.
Exploitez ces informations dans du code Java ou Python, ou depuis la page de débogage de l'API, pour appeler l'opération OpenAPI et déclencher le nœud. Afin de déclencher une instance spécifique et son flux de travail subséquent, définissez le paramètre
TriggerTimesur une valeur fixe. Pour déclencher dynamiquement toutes les instances, attribuez au paramètreTriggerTimeune variable dynamique. Une fois que le nœud de déclenchement HTTP a reçu et validé la commande de déclenchement, il exécute les nœuds en aval séquentiellement.
Conditions de déclenchement
Le déclenchement d'un nœud de déclenchement HTTP n'est possible que si les conditions suivantes sont réunies :
Une instance planifiée du nœud de déclenchement HTTP doit exister. Vous pouvez localiser cette instance sur la page Cycle Examples du Centre d'opérations. Avant d'être déclenchée avec succès via l'API TriggerSchedulerTaskInstance, l'instance reste dans l'état Waiting for Trigger. Ses nœuds en aval demeurent bloqués jusqu'à ce que l'appel à l'API
TriggerSchedulerTaskInstanceréussisse à déclencher le nœud de déclenchement HTTP, moment auquel les nœuds en aval s'exécutent dans l'ordre.Tous les nœuds en amont dont dépend le nœud de déclenchement HTTP se sont exécutés avec succès, c'est-à-dire que leurs instances affichent un état réussi.
L'heure planifiée de l'instance planifiée du nœud de déclenchement HTTP est atteinte.
Le groupe de ressources de planification utilisé par le nœud de déclenchement HTTP dispose de ressources suffisantes au moment du déclenchement.
Le nœud de déclenchement HTTP ne se trouve pas dans un état gelé.
Seules les instances de nœud de déclenchement HTTP dans l'état Waiting for Trigger peuvent être déclenchées. Les instances déjà déclenchées avec succès ne peuvent pas l'être de nouveau.
Scénarios courants
Planification pilotée par des fichiers externes : Utilisez un script externe (par exemple en Python) pour lire des dates ou des conditions depuis des fichiers tels que Excel ou CSV. Lorsque les conditions de déclenchement sont satisfaites, appelez l'opération OpenAPI DataWorks TriggerSchedulerTaskInstance afin de déclencher le nœud de déclenchement HTTP et de mettre en œuvre une planification automatisée basée sur des données externes.
Dépendance de tâches inter-locataires : Lorsqu'il existe des dépendances entre les tâches d'instances DataWorks appartenant à différents locataires, vous pouvez utiliser le nœud de déclenchement HTTP pour activer des tâches de manière transverse. Pour plus de détails, consultez la rubrique Utiliser le nœud de déclenchement HTTP pour déclencher l'exécution des nœuds entre locataires.
Si vous utilisez l'édition Professionnelle de DataWorks ou une édition supérieure, vous avez également la possibilité d'utiliser le Nœud de vérification pour réaliser des vérifications de conditions externes similaires.
Remarques
Le nœud de déclenchement HTTP active ses nœuds en aval uniquement après l'exécution réussie de ses nœuds en amont et la réception d'une commande de planification provenant de l'environnement externe.
-
Si l'environnement externe transmet une commande de planification avant la fin de l'exécution des nœuds en amont, le nœud de déclenchement HTTP n'active pas immédiatement les nœuds en aval. Le système conserve la commande issue de l'environnement externe et déclenche les nœuds en aval via le nœud de déclenchement HTTP une fois que les nœuds en amont ont terminé leur exécution.
RemarqueLa commande de déclenchement provenant de l'environnement externe n'est conservée que pendant 24 heures. Si les nœuds en amont ne terminent pas leur exécution dans ce délai, la commande de déclenchement est perdue et la commande de planification envoyée par l'environnement externe devient invalide.
Une fois que l'instance actuelle du nœud de déclenchement HTTP a été déclenchée avec succès, elle ne peut plus être déclenchée à nouveau.
Prérequis
-
L'utilisateur RAM que vous souhaitez utiliser a été ajouté à votre espace de travail.
Pour développer des tâches avec un utilisateur RAM, vous devez ajouter cet utilisateur en tant que membre à votre espace de travail et lui attribuer le rôle Develop ou Workspace Administrator . Le rôle Workspace Administrator octroie davantage d'autorisations que nécessaire ; faites preuve de prudence lors de son attribution. Pour savoir comment ajouter un membre et lui assigner des rôles, consultez la rubrique Ajouter des membres à un espace de travail.
Un groupe de ressources serverless est associé à votre espace de travail. Pour plus d'informations, reportez-vous aux rubriques du répertoire Utiliser des groupes de ressources serverless .
Avant de développer un nœud de déclenchement HTTP, vous devez créer le nœud correspondant. Pour plus de détails, consultez la rubrique Créer un nœud de déclenchement HTTP.
Limites
La fonctionnalité de nœud de déclenchement HTTP est disponible uniquement dans l'édition Dataworks Enterprise Edition et les éditions supérieures. Pour en savoir plus sur les éditions de DataWorks, consultez la rubrique Éditions de DataWorks.
Le nœud de déclenchement HTTP sert exclusivement à déclencher des tâches et ne peut pas être utilisé comme tâche de calcul. Vous devez configurer les nœuds de tâche que vous souhaitez exécuter en tant que nœuds en aval du nœud de déclenchement HTTP afin de lancer et d'exécuter les tâches.
Créer un nœud de déclenchement HTTP
Créer un nœud de déclenchement HTTP
Pour obtenir des instructions sur la création d'un nœud, consultez la rubrique Créer un nœud de déclenchement HTTP.
Configurer le nœud de déclenchement HTTP
Après avoir créé un nœud de déclenchement HTTP, configurez les paramètres suivants dans la section Scheduling Settings située à droite de la page d'édition du nœud. Pour plus d'informations sur les autres paramètres, reportez-vous à la rubrique Paramètres de planification.
|
Paramètre |
Description |
|
Resource Group for Scheduling |
Sélectionnez le groupe de ressources serverless que vous avez associé. |
|
Instance generation method |
Vous pouvez sélectionner T +1 generated next day ou Instant generation after publishing. |
Le nœud de déclenchement HTTP est un nœud sans charge. Aucun contenu de nœud n'est requis.
Si le nœud de déclenchement HTTP ne possède aucun nœud en amont, le nœud racine du flux de travail est utilisé comme nœud en amont par défaut.
Déployer le nœud de déclenchement HTTP
Une fois les paramètres de planification configurés, soumettez et déployez le nœud de déclenchement HTTP dans l'environnement de production. Pour plus de détails, consultez la rubrique Déployer des nœuds.
Après le déploiement d'une tâche, celle-ci s'exécute périodiquement selon vos paramètres de planification. Vous pouvez visualiser les tâches planifiées déployées en accédant à et effectuer des opérations de maintenance sur les tâches. Pour plus d'informations, reportez-vous à la rubrique Gérer les tâches planifiées.
Configuration du déclenchement dans les environnements de planification externes
Lorsque vous configurez les paramètres de déclenchement dans un environnement de planification externe, vous devez renseigner les paramètres d'instance du nœud de déclenchement HTTP obtenus précédemment selon l'une des méthodes suivantes, puis appeler l'opération TriggerSchedulerTaskInstance pour déclencher le nœud de déclenchement HTTP.
Obtenir les paramètres d'instance du nœud de déclenchement HTTP
Selon la méthode de génération d'instance sélectionnée lors de la configuration du nœud de déclenchement HTTP, consultez et notez les paramètres d'instance du nœud de déclenchement HTTP dans le Centre d'opérations.
Génération J+1 le lendemain : vous devez accéder au Centre d'opérations le jour suivant pour consulter et enregistrer les paramètres de l'instance HTTP.
Génération instantanée après déploiement : vous pouvez accéder immédiatement au Centre d'opérations pour consulter et enregistrer les paramètres de l'instance HTTP.
-
Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Operation Center.
Dans le volet de navigation de gauche, cliquez sur pour accéder à la page Cycle Examples .
-
Dans la liste, repérez l'instance du nœud de déclenchement HTTP que vous avez créée et notez l'ID de tâche et l'Heure planifiée de l'instance.
RemarqueSurvolez le nom de l'instance du nœud de déclenchement HTTP pour afficher l'ID de tâche de l'instance.
Méthode 1 : Java
Méthode 2 : Python
Méthode 3 : Outil de débogage d'API
Référence
DataWorks propose la fonctionnalité de nœud de déclenchement HTTP pour déclencher et exécuter des tâches dans des scénarios inter-locataires. Pour plus d'informations, consultez la rubrique Utiliser le nœud de déclenchement HTTP pour déclencher l'exécution des nœuds entre locataires.