Tous les produits
Search
Centre de documentation

Data Transmission Service:Créer des tâches DTS à l'aide d'Alibaba Cloud CLI

Dernière mise à jour :Aug 10, 2026

Vous pouvez utiliser Alibaba Cloud CLI pour créer et configurer des tâches Data Transmission Service (DTS) dédiées à la migration, à la synchronisation, à l'abonnement et à la validation des données.

Présentation

Pour créer une tâche DTS via Alibaba Cloud CLI, procédez comme suit :

  1. Achetez une instance DTS : appelez l'opération CreateDtsInstance pour acquérir une instance DTS du type souhaité et obtenez son ID d'instance.

  2. Configurez la tâche DTS : appelez l'opération ConfigureDtsJob afin de définir les informations de connexion des bases de données source et de destination, ainsi que les objets à migrer ou synchroniser et d'autres paramètres.

  3. Démarrez la tâche DTS : appelez l'opération StartDtsJob pour lancer la tâche, puis utilisez l'opération DescribeDtsJobDetail pour consulter son statut.

Les exemples présentés dans cette rubrique illustrent le transfert de données depuis une base de données source RDS for MySQL vers une base de données de destination RDS for MySQL. Ils couvrent les tâches de migration, de synchronisation, d'abonnement et de validation. Vous pouvez adapter les paramètres des bases de données source et de destination selon vos besoins.

Prérequis

Remarques

  • Les paramètres SourceRegion et DestinationRegion de l'opération CreateDtsInstance doivent correspondre aux régions de vos bases de données source et de destination.

  • Le paramètre Type de l'opération CreateDtsInstance indique le type de tâche. Les valeurs valides sont : MIGRATION (migration de données), SYNC (synchronisation de données) et SUBSCRIBE (abonnement aux données).

  • Le paramètre DbList de l'opération ConfigureDtsJob est au format JSON et spécifie les objets à migrer ou synchroniser. Pour connaître le format exact, consultez la rubrique Objets à migrer, synchroniser ou auxquels s'abonner.

  • Les tâches de migration de données prennent uniquement en charge le mode de facturation paiement à l'utilisation. Les tâches de synchronisation et d'abonnement aux données acceptent les deux modes : paiement à l'utilisation et abonnement.

  • Transmettez les mots de passe des bases de données, tels que SourceEndpointPassword et DestinationEndpointPassword, via des variables d'environnement afin d'éviter leur exposition en texte clair dans la ligne de commande.

Créer une tâche de migration de données

L'exemple suivant crée une tâche de migration de données d'une base de données RDS for MySQL vers une autre.

Étape 1 : Acheter une instance de migration

Exécutez la commande suivante pour appeler l'opération CreateDtsInstance et acheter une instance de migration de données.

aliyun dts CreateDtsInstance \
  --Type MIGRATION \
  --SourceRegion cn-hangzhou \
  --DestinationRegion cn-shanghai \
  --SourceEndpointEngineName MySQL \
  --DestinationEndpointEngineName MySQL \
  --PayType PostPaid \
  --InstanceClass small

Exemple de sortie :

{
  "InstanceId": "dtsse7s11v26j****",
  "JobId": "se7s11v26j****",
  "RequestId": "E52C5BD7-AF7D-4F5D-A8F5-D3B5F0****",
  "Success": true
}

Notez la valeur de InstanceId. Il s'agit de l'ID de l'instance DTS, qui servira de paramètre DtsInstanceId dans les étapes suivantes.

Étape 2 : Configurer la tâche de migration

Exécutez la commande ci-dessous pour appeler l'opération ConfigureDtsJob et configurer les bases de données source et de destination.

aliyun dts ConfigureDtsJob \
  --DtsInstanceId dtsse7s11v26j**** \
  --DtsJobName "rds_mysql_migration_demo" \
  --JobType MIGRATION \
  --SourceEndpointInstanceType RDS \
  --SourceEndpointInstanceID rm-bp1imrtn6fq****  \
  --SourceEndpointEngineName MYSQL \
  --SourceEndpointRegion cn-hangzhou \
  --SourceEndpointDatabaseName source_db \
  --SourceEndpointUserName dts_user \
  --SourceEndpointPassword '${SOURCE_DB_PASSWORD}' \
  --DestinationEndpointInstanceType RDS \
  --DestinationEndpointInstanceID rm-bp1k5v0rm3d****  \
  --DestinationEndpointEngineName MYSQL \
  --DestinationEndpointRegion cn-shanghai \
  --DestinationEndpointDataBaseName target_db \
  --DestinationEndpointUserName dts_user \
  --DestinationEndpointPassword '${DEST_DB_PASSWORD}' \
  --StructureInitialization true \
  --DataInitialization true \
  --DataSynchronization true \
  --DbList '{"source_db":{"name":"source_db","all":true}}'

Exemple de sortie :

{
  "RequestId": "1D234B10-5C84-4F26-B06A-3E48D2****",
  "DtsJobId": "se7s11v26j****",
  "ErrCode": "",
  "Success": "true",
  "HttpStatusCode": 200
}

Étape 3 : Démarrer la tâche de migration

Lancez la commande suivante pour appeler l'opération StartDtsJob et démarrer la tâche de migration.

aliyun dts StartDtsJob \
  --DtsJobId se7s11v26j****

Exemple de sortie :

{
  "RequestId": "A7B3E61D-2C2F-4B3B-A5D8-F7E49D****",
  "ErrCode": "",
  "Success": "true",
  "HttpStatusCode": 200
}

Étape 4 : Consulter le statut de la tâche

Exécutez la commande ci-après pour appeler l'opération DescribeDtsJobDetail et vérifier le statut de la tâche de migration.

aliyun dts DescribeDtsJobDetail \
  --DtsJobId se7s11v26j****

Assurez-vous que le champ Status renvoyé affiche la valeur Migrating, ce qui signifie que la tâche de migration est en cours d'exécution.

Créer une tâche de synchronisation de données

L'exemple ci-dessous crée une tâche de synchronisation de données entre deux bases de données RDS for MySQL.

Étape 1 : Acheter une instance de synchronisation

Exécutez la commande suivante pour appeler l'opération CreateDtsInstance et acheter une instance de synchronisation de données.

aliyun dts CreateDtsInstance \
  --Type SYNC \
  --SourceRegion cn-hangzhou \
  --DestinationRegion cn-hangzhou \
  --SourceEndpointEngineName MySQL \
  --DestinationEndpointEngineName MySQL \
  --PayType PostPaid \
  --InstanceClass small \
  --SyncArchitecture oneway

Exemple de sortie :

{
  "InstanceId": "dtsbi6e22ay24****",
  "JobId": "bi6e22ay24****",
  "RequestId": "6C2FE2A1-B9D3-4E5C-8A1B-C3F28E****",
  "Success": true
}

Étape 2 : Configurer la tâche de synchronisation

Utilisez la commande suivante pour appeler l'opération ConfigureDtsJob et configurer les bases de données source et de destination pour la tâche de synchronisation.

aliyun dts ConfigureDtsJob \
  --DtsInstanceId dtsbi6e22ay24**** \
  --DtsJobName "rds_mysql_sync_demo" \
  --JobType SYNC \
  --SourceEndpointInstanceType RDS \
  --SourceEndpointInstanceID rm-bp1imrtn6fq****  \
  --SourceEndpointEngineName MYSQL \
  --SourceEndpointRegion cn-hangzhou \
  --SourceEndpointDatabaseName source_db \
  --SourceEndpointUserName dts_user \
  --SourceEndpointPassword '${SOURCE_DB_PASSWORD}' \
  --DestinationEndpointInstanceType RDS \
  --DestinationEndpointInstanceID rm-bp1k5v0rm3d**** \
  --DestinationEndpointEngineName MYSQL \
  --DestinationEndpointRegion cn-hangzhou \
  --DestinationEndpointDataBaseName target_db \
  --DestinationEndpointUserName dts_user \
  --DestinationEndpointPassword '${DEST_DB_PASSWORD}' \
  --StructureInitialization true \
  --DataInitialization true \
  --DataSynchronization true \
  --DbList '{"source_db":{"name":"source_db","all":true}}'

Exemple de sortie :

{
  "RequestId": "8E2D3A9C-4B5F-4C6A-9D7E-A1B2C3****",
  "DtsJobId": "bi6e22ay24****",
  "ErrCode": "",
  "Success": "true",
  "HttpStatusCode": 200
}

Étape 3 : Démarrer la tâche de synchronisation

Exécutez la commande ci-dessous pour appeler l'opération StartDtsJob et lancer la tâche de synchronisation.

aliyun dts StartDtsJob \
  --DtsJobId bi6e22ay24****

Étape 4 : Consulter le statut de la tâche

Lancez la commande suivante pour appeler l'opération DescribeDtsJobDetail et vérifier le statut de la tâche de synchronisation.

aliyun dts DescribeDtsJobDetail \
  --DtsJobId bi6e22ay24****

Vérifiez que le champ Status de la réponse indique Synchronizing, confirmant ainsi que la tâche de synchronisation est en cours.

Créer une tâche d'abonnement aux données

L'exemple suivant crée une tâche d'abonnement aux données pour une base de données RDS for MySQL.

Étape 1 : Acheter une instance d'abonnement

Exécutez la commande suivante pour appeler l'opération CreateDtsInstance et acheter une instance d'abonnement aux données.

aliyun dts CreateDtsInstance \
  --Type SUBSCRIBE \
  --SourceRegion cn-hangzhou \
  --DestinationRegion cn-hangzhou \
  --SourceEndpointEngineName MySQL \
  --PayType PostPaid \
  --InstanceClass small

Exemple de sortie :

{
  "InstanceId": "dtsk3m1zb527a****",
  "JobId": "k3m1zb527a****",
  "RequestId": "3F5A8B2C-6D7E-4A9B-8C1D-E2F3A4****",
  "Success": true
}

Étape 2 : Configurer la tâche d'abonnement

Utilisez la commande ci-dessous pour appeler l'opération ConfigureSubscription et configurer la tâche d'abonnement aux données.

aliyun dts ConfigureSubscription \
  --RegionId cn-hangzhou \
  --DtsInstanceId dtsk3m1zb527a**** \
  --DtsJobName "rds_mysql_subscribe_demo" \
  --SourceEndpointInstanceType RDS \
  --SourceEndpointInstanceID rm-bp1imrtn6fq**** \
  --SourceEndpointEngineName MYSQL \
  --SourceEndpointRegion cn-hangzhou \
  --SourceEndpointDatabaseName source_db \
  --SourceEndpointUserName dts_user \
  --SourceEndpointPassword '${SOURCE_DB_PASSWORD}' \
  --DbList '{"source_db":{"name":"source_db","all":true}}' \
  --SubscriptionDataTypeDDL true \
  --SubscriptionDataTypeDML true \
  --SubscriptionInstanceNetworkType vpc \
  --SubscriptionInstanceVPCId vpc-bp1opxu1zkhn00g****  \
  --SubscriptionInstanceVSwitchId vsw-bp1s5fnvk4gn2tw****

Exemple de sortie :

{
  "RequestId": "B4C5D6E7-8F9A-4B1C-2D3E-F4A5B6****",
  "DtsJobId": "k3m1zb527a****",
  "ErrCode": "",
  "Success": "true",
  "HttpStatusCode": 200
}

Le paramètre SubscriptionInstanceNetworkType est obligatoire et ne prend actuellement en charge que la valeur vpc. Lorsque vous définissez ce paramètre sur vpc, vous devez également spécifier les paramètres SubscriptionInstanceVPCId et SubscriptionInstanceVSwitchId.

Étape 3 : Démarrer la tâche d'abonnement

Exécutez la commande suivante pour appeler l'opération StartDtsJob et lancer la tâche d'abonnement.

aliyun dts StartDtsJob \
  --DtsJobId k3m1zb527a****

Étape 4 : Consulter le statut de la tâche

Lancez la commande ci-après pour appeler l'opération DescribeDtsJobDetail et vérifier le statut de la tâche d'abonnement.

aliyun dts DescribeDtsJobDetail \
  --DtsJobId k3m1zb527a****

Vérifiez que le champ Status de la réponse affiche la valeur Normal, indiquant que la tâche d'abonnement est active.

Créer une tâche de validation des données

Une tâche de validation des données permet de vérifier la cohérence des données entre les bases de données source et de destination après une migration ou une synchronisation. L'exemple suivant crée une tâche de validation pour une tâche de migration de données existante.

Étape 1 : Acheter une instance de validation

Exécutez la commande suivante pour appeler l'opération CreateDtsInstance et acheter une instance de validation des données.

aliyun dts CreateDtsInstance \
  --Type CHECK \
  --SourceRegion cn-hangzhou \
  --DestinationRegion cn-shanghai \
  --SourceEndpointEngineName MySQL \
  --DestinationEndpointEngineName MySQL \
  --PayType PostPaid \
  --InstanceClass small

Exemple de sortie :

{
  "InstanceId": "dtsp2w8rx6315****",
  "JobId": "p2w8rx6315****",
  "RequestId": "D5E6F7A8-9B0C-4D1E-2F3A-B4C5D6****",
  "Success": true
}

Étape 2 : Configurer la tâche de validation

Utilisez la commande ci-dessous pour appeler l'opération ConfigureDtsJob et configurer les bases de données source et de destination pour la tâche de validation.

aliyun dts ConfigureDtsJob \
  --DtsInstanceId dtsp2w8rx6315**** \
  --DtsJobName "rds_mysql_check_demo" \
  --JobType CHECK \
  --SourceEndpointInstanceType RDS \
  --SourceEndpointInstanceID rm-bp1imrtn6fq**** \
  --SourceEndpointEngineName MYSQL \
  --SourceEndpointRegion cn-hangzhou \
  --SourceEndpointDatabaseName source_db \
  --SourceEndpointUserName dts_user \
  --SourceEndpointPassword '${SOURCE_DB_PASSWORD}' \
  --DestinationEndpointInstanceType RDS \
  --DestinationEndpointInstanceID rm-bp1k5v0rm3d**** \
  --DestinationEndpointEngineName MYSQL \
  --DestinationEndpointRegion cn-shanghai \
  --DestinationEndpointDataBaseName target_db \
  --DestinationEndpointUserName dts_user \
  --DestinationEndpointPassword '${DEST_DB_PASSWORD}' \
  --StructureInitialization false \
  --DataInitialization true \
  --DataSynchronization false \
  --DbList '{"source_db":{"name":"source_db","all":true}}'

Exemple de sortie :

{
  "RequestId": "E6F7A8B9-0C1D-4E2F-3A4B-C5D6E7****",
  "DtsJobId": "p2w8rx6315****",
  "ErrCode": "",
  "Success": "true",
  "HttpStatusCode": 200
}

Étape 3 : Démarrer la tâche de validation

Exécutez la commande suivante pour appeler l'opération StartDtsJob et lancer la tâche de validation.

aliyun dts StartDtsJob \
  --DtsJobId p2w8rx6315****

Étape 4 : Consulter les résultats de la validation

Lancez la commande ci-après pour appeler l'opération DescribeDtsJobDetail et obtenir les résultats de la tâche de validation.

aliyun dts DescribeDtsJobDetail \
  --DtsJobId p2w8rx6315****

Assurez-vous que le champ Status indique Finished, signifiant que la validation est terminée. Examinez les détails de la réponse pour déterminer si les données sont cohérentes.