Tous les produits
Search
Centre de documentation

DataWorks:Nœud de déclenchement HTTP

Dernière mise à jour :Aug 20, 2026

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

image

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.

image

Description du schéma :

  1. 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.

  2. 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.

  3. 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 TriggerTime sur une valeur fixe. Pour déclencher dynamiquement toutes les instances, attribuez au paramètre TriggerTime une 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 TriggerSchedulerTaskInstance ré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.

    Remarque

    La 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.

Remarque
  • 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

  1. 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.

  2. 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 à Operation and Maintenance Center > Node O&M > Auto Triggered Task O&M > Auto Triggered Task 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.

Remarque
  • 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.

  1. Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur Data Development and O&M > Operation Center 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.

  2. Dans le volet de navigation de gauche, cliquez sur Auto Triggered Task O&M > Cycle Examples pour accéder à la page Cycle Examples .

  3. 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.

    Remarque

    Survolez 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

  1. Installez le SDK Java. Pour plus d'informations, consultez la rubrique Installer le SDK Java.

    Utilisez la configuration POM suivante pour le SDK DataWorks.

    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>dataworks_public20240518</artifactId>
      <version>6.2.0</version>
    </dependency>
  2. Exemple de code

    Vous pouvez accéder à la page de débogage TriggerSchedulerTaskInstance et consulter l'exemple Java complet dans l'onglet SDK Sample .

    package com.example.demo;
    import com.aliyun.dataworks_public20240518.Client;
    import com.aliyun.dataworks_public20240518.models.TriggerSchedulerTaskInstanceRequest;
    import com.aliyun.dataworks_public20240518.models.TriggerSchedulerTaskInstanceResponse;
    import com.aliyun.teaopenapi.models.Config;
    import com.aliyun.teautil.models.RuntimeOptions;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    public class CrossTenantTriggerSchedulerTaskTo {
        // Method to trigger a DataWorks node run
        public static TriggerSchedulerTaskInstanceResponse runTriggerScheduler(com.aliyun.dataworks_public20240518.Client client, Long nodeId, String EnvType, Long TriggerTime) throws Exception {
            TriggerSchedulerTaskInstanceRequest request = new TriggerSchedulerTaskInstanceRequest(); // Create API request object
            request.setTaskId(nodeId); // Set the node ID to trigger
            request.setEnvType(EnvType); // Set the project environment
            request.setTriggerTime(TriggerTime); // Set the scheduled trigger time (millisecond timestamp)
            RuntimeOptions runtime = new RuntimeOptions(); // Initialize runtime options
            return client.triggerSchedulerTaskInstanceWithOptions(request, runtime); // Execute the API call and return the response
        }
        public static void main(String[] args) throws Exception {
            // Initialize node ID (example value)
            String nodeId = "xxx";
            // Initialize project environment (example value)
            String EnvTypeStr = "xxx";
            // Initialize scheduled time (example value)
            String cycTimeStr = "xxx";
            // Set the endpoint
            String endpoint = "xxx";
            // Convert string to Long type node ID
            Long nodeId1 = Long.parseLong(nodeId);
            // Print usage instructions
            System.out.println("Usage: java -jar test-1.0-SNAPSHOT.jar nodeId EnvTypeStr cycTimeParam");
            // Parse the scheduled time and convert to timestamp
            SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(sdft.parse(cycTimeStr)); // Parse the time string
            Long cycTime = calendar.getTimeInMillis(); // Get the millisecond timestamp
            // Print debug info (timestamp)
            System.out.println("Scheduled timestamp: " + cycTime);
            // Initialize OpenAPI config object
            Config config = new Config();
            config.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")); // Get AccessKey ID from environment variable
            config.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));// Get AccessKey Secret from environment variable
            config.setEndpoint(endpoint);
            // Create Alibaba Cloud client instance
            Client client = new Client(config);
            // Execute the trigger node operation
            TriggerSchedulerTaskInstanceResponse response = runTriggerScheduler(client, nodeId1,EnvTypeStr, cycTime);
            // Print the API response (JSON format)
            System.out.println(com.aliyun.teautil.Common.toJSONString(com.aliyun.teautil.Common.toMap(response)));
        }
    }

    Remplacez les paramètres pertinents dans le code ci-dessus par les valeurs réelles requises par votre activité, en vous basant sur les descriptions de paramètres suivantes.

    Paramètre

    Description

    nodeId

    L'ID de tâche du nœud de déclenchement HTTP obtenu à l'étape Obtenir les paramètres d'instance du nœud de déclenchement HTTP.

    EnvTypeStr

    L'environnement de projet dans lequel réside le nœud de déclenchement HTTP.

    Utilisez Prod pour l'environnement de production.

    Utilisez Dev pour l'environnement de développement.

    cycTimeStr

    L'Heure planifiée de la tâche du nœud de déclenchement HTTP obtenue à l'étape Obtenir les paramètres d'instance du nœud de déclenchement HTTP. Le format de l'heure est yyyy-MM-dd HH:mm:ss.

    endpoint

    Le point de terminaison de l'espace de travail dans lequel réside le nœud de déclenchement HTTP cible. Pour plus d'informations, consultez les points de terminaison du portail OpenAPI Developer d'Alibaba Cloud.

    ALIBABA_CLOUD_ACCESS_KEY_ID

    L'AccessKey ID du compte Alibaba Cloud auquel appartient le nœud de déclenchement HTTP cible.

    1. Obtenez les informations AccessKey.

      Connectez-vous à la console DataWorks, survolez l'icône de profil dans le coin supérieur droit de la barre de navigation supérieure et cliquez pour accéder à la page Accesskey Management afin d'obtenir l'AccessKey ID et l'AccessKey Secret.

    2. Configurez les variables d'environnement. Configurez l'AccessKey ID et l'AccessKey Secret obtenus comme variables d'environnement pour l'environnement actuel. Vous pouvez récupérer dynamiquement les informations AccessKey en lisant les variables d'environnement dans votre code, évitant ainsi les risques de sécurité liés au stockage en clair. Pour plus d'informations, consultez la rubrique [Configurer les variables d'environnement](t2499839.xdita#).

    ALIBABA_CLOUD_ACCESS_KEY_SECRET

    L'AccessKey Secret du compte Alibaba Cloud auquel appartient le nœud de déclenchement HTTP cible.

Méthode 2 : Python

  1. Installez le SDK Python. Pour plus d'informations, consultez la rubrique Installer le SDK Python.

    Installez le SDK DataWorks en exécutant la commande suivante.

    pip install alibabacloud_dataworks_public20240518==6.2.0
  2. Exemple de code.

    Vous pouvez accéder à la page de débogage TriggerSchedulerTaskInstance et consulter l'exemple Python complet dans l'onglet SDK Sample .

    Sur le côté gauche de la page de débogage, configurez les paramètres de requête TaskId (entier), EnvType (chaîne) et TriggerTime (entier). Sur le côté droit, sélectionnez Python comme langage pour afficher le code d'exemple SDK complet. Cliquez sur Run Sample pour effectuer un débogage en ligne.

Méthode 3 : Outil de débogage d'API

Accédez à la page de débogage TriggerSchedulerTaskInstance, configurez les paramètres suivants dans les sections correspondantes, puis cliquez sur Submit pour initier l'appel.

Paramètre

Description

TaskId

L'ID de tâche du nœud de déclenchement HTTP obtenu à l'étape Obtenir les paramètres d'instance du nœud de déclenchement HTTP.

EnvType

L'environnement de projet dans lequel réside le nœud de déclenchement HTTP.

Utilisez Prod pour l'environnement de production.

Utilisez Dev pour l'environnement de développement.

TriggerTime

L'Heure planifiée de la tâche du nœud de déclenchement HTTP obtenue à l'étape Obtenir les paramètres d'instance du nœud de déclenchement HTTP. L'heure doit être convertie en horodatage en millisecondes.

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.