Tous les produits
Search
Centre de documentation

Data Management:Orchestration des tâches

Dernière mise à jour :Sep 23, 2026

Utilisez la fonctionnalité Task Orchestration de Data Management (DMS) pour créer un flux de tâches planifié en plusieurs étapes qui archive automatiquement les données historiques. À l'issue de ce tutoriel, vous disposerez d'un flux de tâches opérationnel qui :

  • Crée une table d'archivage mensuelle pour les enregistrements datant de plus de six mois

  • Copie les lignes éligibles de la table source vers la table d'archivage

  • Supprime les lignes migrées de la table source

  • S'exécute automatiquement à 01:00 le premier jour de chaque mois

Étapes de ce tutoriel :

  1. Créer un flux de tâches

  2. Configurer les variables temporelles

  3. Créer et configurer les nœuds

  4. Connecter les nœuds et configurer la planification

  5. Exécuter le flux de tâches et vérifier les résultats

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Une instance de base de données enregistrée dans DMS. Pour plus de détails, consultez la rubrique Enregistrer une instance de base de données Alibaba Cloud

  • Une instance dont le statut est Normal. Pour vérifier cela, accédez à la page d'accueil de la console DMS, survolez l'instance dans le volet de navigation de gauche et lisez l'infobulle de statut.

  • Un accès propriétaire au flux de tâches, si le mode de contrôle de l'instance est Flexible Management ou Stable Change. Cette exigence ne s'applique pas aux instances en mode Security Collaboration. Pour plus de détails, consultez la page Overview

Bases de données prises en charge

Task Orchestration prend en charge les types de bases de données suivants :

Bases de données relationnelles

  • MySQL : ApsaraDB RDS for MySQL, PolarDB for MySQL, ApsaraDB MyBase for MySQL, PolarDB for Xscale et bases de données MySQL provenant d'autres sources

  • SQL Server : ApsaraDB RDS for SQL Server, ApsaraDB MyBase for SQL Server et bases de données SQL Server provenant d'autres sources

  • PostgreSQL : ApsaraDB RDS for PostgreSQL, PolarDB for PostgreSQL, ApsaraDB MyBase for PostgreSQL et bases de données PostgreSQL provenant d'autres sources

  • OceanBase : ApsaraDB for OceanBase en mode MySQL, ApsaraDB for OceanBase en mode Oracle et bases de données OceanBase gérées par l'utilisateur

  • PolarDB for PostgreSQL (compatible avec Oracle)

  • Oracle

  • Dameng (DM)

  • Db2

Base de données NoSQL : Lindorm

Entrepôts de données : AnalyticDB for MySQL, AnalyticDB for PostgreSQL, Data Lake Analytics (DLA), MaxCompute, Hologres

Stockage objet : Object Storage Service (OSS)

Configurer la table source

Ce tutoriel utilise une table source nommée test. Exécutez les instructions suivantes pour créer la table et insérer des exemples de données :

-- Create the source table
CREATE TABLE test (
    `id` bigint(20) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'Primary key',
    `gmt_create` DATETIME NOT NULL COMMENT 'Creation time',
    `gmt_modified` DATETIME NOT NULL COMMENT 'Modification time',
    `content` TEXT COMMENT 'Test data'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Table for a task orchestration test';

-- Insert sample data
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-01-01 01:00:00', '2020-01-01 01:00:00', 'value1');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-02-01 01:00:00', '2020-02-01 01:00:00', 'value2');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-03-01 01:00:00', '2020-03-01 01:00:00', 'value3');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-04-01 01:00:00', '2020-04-01 01:00:00', 'value4');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-05-01 01:00:00', '2020-05-01 01:00:00', 'value5');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-06-01 01:00:00', '2020-06-01 01:00:00', 'value6');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-07-01 01:00:00', '2020-07-01 01:00:00', 'value7');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-08-01 01:00:00', '2020-08-01 01:00:00', 'value8');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-09-01 01:00:00', '2020-09-01 01:00:00', 'value9');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-10-01 01:00:00', '2020-10-01 01:00:00', 'value10');

Vous pouvez exécuter ces instructions dans l'onglet SQLConsole de DMS ou en soumettant un ticket de modification de données. Pour plus de détails, consultez les rubriques Gérer une base de données dans l'onglet SQLConsole et Normal Data Modify.

Étape 1 : Créer un flux de tâches

  1. Connectez-vous à la console DMS V5.0.

  2. Dans la barre de navigation supérieure, choisissez All Features > Data + AI > Data Development > Task Orchestration.

    Si vous utilisez le mode normal de la console DMS, survolez l'icône située dans le coin supérieur gauche et choisissez Data + AI > Data Development > Task Orchestration .
  3. Cliquez sur Create Task Flow.

  4. Dans la boîte de dialogue New Task Flow, saisissez un Task Flow Name et une Description, puis cliquez sur OK.

Étape 2 : Configurer les variables temporelles

Le flux de tâches utilise deux variables temporelles comme conditions de filtre SQL afin que la fenêtre d'archivage se décale automatiquement de six mois par rapport à la date actuelle. Tous les nœuds du flux de tâches peuvent référencer ces variables en utilisant la syntaxe ${variable_name}.

Dans l'onglet Variable Configuration situé en bas de la page, cliquez sur Task Flow Variable dans le volet de gauche et créez les deux variables suivantes :

Variable Format temporel Décalage Description Exemple (si nous sommes le 27 juin 2023)
yearmonth6_name yyyy-MM -, 6, Month Mois datant de six mois, précis au mois près 2022-12
yearmonth6_date yyyy-MM-01 -, 6, Month Premier jour du mois datant de six mois, précis au jour près 2022-12-01
  • yearmonth6_name est utilisé comme suffixe dans le nom de la table d'archivage (par exemple, test_2022-12).

  • yearmonth6_date est utilisé comme date limite dans la clause WHERE des deux nœuds SQL.

Pour connaître la syntaxe complète des variables et les options disponibles, consultez la rubrique Variables.

Étape 3 : Créer et configurer les nœuds

Le flux de tâches nécessite deux nœuds Single Instance SQL : l'un pour migrer les données vers la table d'archivage, et l'autre pour supprimer les lignes migrées de la table source.

Créer le nœud Migrate Data

Ce nœud crée une table d'archivage mensuelle (si elle n'existe pas déjà) et y copie tous les enregistrements datant de plus de six mois depuis la table test.

  1. Depuis le panneau Task Type situé à gauche du canevas, faites glisser un nœud Single Instance SQL vers le canevas.

  2. Cliquez avec le bouton droit sur le nœud et sélectionnez Rename. Saisissez Migrate Data comme nom de nœud.

  3. Double-cliquez sur le nœud pour ouvrir l'éditeur SQL.

  4. Sélectionnez votre base de données dans la zone de recherche de bases de données et saisissez le code SQL suivant :

    CREATE TABLE IF NOT EXISTS `test_${yearmonth6_name}` LIKE test;
    INSERT INTO `test_${yearmonth6_name}`
    SELECT * FROM `test`
    WHERE gmt_create < '${yearmonth6_date}';

    La première instruction crée la table test_${yearmonth6_name} avec le même schéma que la table test, en ignorant la création si la table existe déjà. La seconde instruction copie toutes les lignes dont la date gmt_create est antérieure à la limite de six mois dans la table d'archivage.

  5. Cliquez sur Preview pour valider les instructions SQL.

Créer le nœud Clear Historical Data

Ce nœud supprime de la table test toutes les lignes qui ont été copiées dans la table d'archivage.

  1. Faites glisser un autre nœud Single Instance SQL vers le canevas.

  2. Cliquez avec le bouton droit sur le nœud et sélectionnez Rename. Saisissez Clear Historical Data comme nom de nœud.

  3. Double-cliquez sur le nœud pour ouvrir l'éditeur SQL.

  4. Sélectionnez votre base de données dans la zone de recherche de bases de données et saisissez le code SQL suivant :

    Avertissement

    Exécutez l'instruction DELETE pendant les heures creuses. La suppression de grands volumes de données peut maintenir des verrous de table pendant une période prolongée et interrompre d'autres opérations.

    DELETE FROM `test` WHERE gmt_create < '${yearmonth6_date}';

    Cette instruction supprime toutes les lignes déjà copiées dans la table d'archivage, garantissant ainsi que la table test ne contient aucun enregistrement datant de plus de six mois.

  5. Cliquez sur Preview pour valider l'instruction SQL.

Étape 4 : Connecter les nœuds et configurer la planification

Connecter les nœuds

Sur le canevas, survolez le nœud Migrate Data, cliquez sur le cercle vide situé à sa droite et faites glisser la ligne de connexion vers le nœud Clear Historical Data. Cela définit l'ordre d'exécution : Migrate Data s'exécute en premier, puis Clear Historical Data.

Configurer la planification

  1. En bas de la page, cliquez sur l'onglet Task Flow Information.

  2. Dans la section Scheduling Settings, configurez les paramètres suivants :

    Paramètre Valeur
    Enable scheduling Activer
    Scheduling type Timed Scheduling/Cyclic scheduling
    Effective time 1970-01-01 – 9999-01-01 (par défaut ; la planification s'exécute indéfiniment)
    Scheduling cycle Month
    Specified time 1st of each month
    Specific point in time 01:00
    Time zone Votre fuseau horaire préféré
    Cron expression Généré automatiquement en fonction des paramètres ci-dessus

    Cet exemple planifie l'exécution du flux de tâches à 01:00 le premier jour de chaque mois. Ajustez les paramètres selon vos besoins. Pour plus d'options, consultez la rubrique Overview.

Étape 5 : Exécuter le flux de tâches et vérifier les résultats

Test d'exécution

Cliquez sur Try Run dans le coin supérieur gauche du canevas. Vérifiez la sortie du journal :

  • status SUCCEEDED sur la dernière ligne : le test d'exécution s'est terminé avec succès.

  • status FAILED sur la dernière ligne : le test d'exécution a échoué. Consultez les journaux pour identifier quel nœud a échoué et pourquoi, corrigez la configuration et réessayez.

Vérifier les résultats

Dans l'onglet SQLConsole, exécutez des requêtes pour confirmer que :

  • Les enregistrements dont la valeur gmt_create est antérieure à la limite de six mois ont été copiés dans la table d'archivage test_${yearmonth6_name}.

  • Ces mêmes enregistrements n'existent plus dans la table test.

Pour plus de détails sur l'interrogation des données, consultez la rubrique Gérer une base de données dans l'onglet SQLConsole.

Étapes suivantes

Références