Todos os produtos
Search
Central de documentação

Data Transmission Service:Crie tarefas do DTS usando a Alibaba Cloud CLI

Última atualização: Jun 27, 2026

Use a Alibaba Cloud CLI para criar e configurar tarefas do Data Transmission Service (DTS) de migração, sincronização, assinatura e validação de dados.

Visão geral

Para criar uma tarefa do DTS com a Alibaba Cloud CLI, siga estas etapas:

  1. Adquira uma instância do DTS: Chame a operação CreateDtsInstance para comprar uma instância do DTS de um tipo específico e obter o ID da instância.

  2. Configure a tarefa do DTS: Chame a operação ConfigureDtsJob para definir as informações de conexão dos bancos de dados de origem e destino, os objetos a migrar ou sincronizar e outras configurações.

  3. Inicie a tarefa do DTS: Chame a operação StartDtsJob para iniciar a tarefa e, em seguida, chame a operação DescribeDtsJobDetail para consultar o status.

Os exemplos neste tópico transferem dados de um banco de dados de origem RDS for MySQL para um banco de dados de destino RDS for MySQL. Eles abrangem tarefas de migração, sincronização, assinatura e validação de dados. Substitua os parâmetros dos bancos de dados de origem e destino conforme necessário.

Pré-requisitos

Observações

  • Os parâmetros SourceRegion e DestinationRegion na operação CreateDtsInstance devem corresponder às regiões dos bancos de dados de origem e destino.

  • O parâmetro Type na operação CreateDtsInstance define o tipo da tarefa. Valores válidos: MIGRATION (migração de dados), SYNC (sincronização de dados) e SUBSCRIBE (assinatura de dados).

  • O parâmetro DbList na operação ConfigureDtsJob usa o formato JSON e especifica os objetos a migrar ou sincronizar. Para detalhes sobre o formato, consulte Objetos para migrar, sincronizar ou assinar.

  • Tarefas de migração de dados aceitam apenas o método de faturamento pagamento conforme o uso. Tarefas de sincronização e assinatura de dados aceitam tanto o pagamento conforme o uso quanto a assinatura.

  • Forneça parâmetros de senha do banco de dados, como SourceEndpointPassword e DestinationEndpointPassword, por meio de variáveis de ambiente para evitar exposição em texto simples na linha de comando.

Criar uma tarefa de migração de dados

O exemplo a seguir cria uma tarefa de migração de dados de um banco de dados RDS for MySQL para outro.

Etapa 1: Adquirir uma instância de migração

Execute o comando a seguir para chamar a operação CreateDtsInstance e adquirir uma instância de migração de dados.

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

Saída de exemplo:

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

Anote o valor de InstanceId. Este é o ID da instância do DTS, usado como parâmetro DtsInstanceId nas etapas seguintes.

Etapa 2: Configurar a tarefa de migração

Execute o comando a seguir para chamar a operação ConfigureDtsJob e configurar os bancos de dados de origem e destino.

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}}'

Saída de exemplo:

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

Etapa 3: Iniciar a tarefa de migração

Execute o comando a seguir para chamar a operação StartDtsJob e iniciar a tarefa de migração.

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

Saída de exemplo:

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

Etapa 4: Consultar o status da tarefa

Execute o comando a seguir para chamar a operação DescribeDtsJobDetail e consultar o status da tarefa de migração.

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

Confirme se o Status no resultado retornado é Migrating, o que indica que a tarefa de migração está em execução.

Criar uma tarefa de sincronização de dados

O exemplo a seguir cria uma tarefa de sincronização de dados entre dois bancos de dados RDS for MySQL.

Etapa 1: Adquirir uma instância de sincronização

Execute o comando a seguir para chamar a operação CreateDtsInstance e adquirir uma instância de sincronização de dados.

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

Saída de exemplo:

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

Etapa 2: Configurar a tarefa de sincronização

Execute o comando a seguir para chamar a operação ConfigureDtsJob e configurar os bancos de dados de origem e destino da tarefa de sincronização.

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}}'

Saída de exemplo:

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

Etapa 3: Iniciar a tarefa de sincronização

Execute o comando a seguir para chamar a operação StartDtsJob e iniciar a tarefa de sincronização.

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

Etapa 4: Consultar o status da tarefa

Execute o comando a seguir para chamar a operação DescribeDtsJobDetail e consultar o status da tarefa de sincronização.

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

Confirme se o Status na resposta é Synchronizing, o que indica que a tarefa de sincronização está em andamento.

Criar uma tarefa de assinatura de dados

O exemplo a seguir cria uma tarefa de assinatura de dados para um banco de dados RDS for MySQL.

Etapa 1: Adquirir uma instância de assinatura

Execute o comando a seguir para chamar a operação CreateDtsInstance e adquirir uma instância de assinatura de dados.

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

Saída de exemplo:

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

Etapa 2: Configurar a tarefa de assinatura

Execute o comando a seguir para chamar a operação ConfigureSubscription e configurar a tarefa de assinatura de dados.

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****

Saída de exemplo:

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

SubscriptionInstanceNetworkType é um parâmetro obrigatório que atualmente aceita apenas vpc. Ao definir este parâmetro como vpc, especifique também os parâmetros SubscriptionInstanceVPCId e SubscriptionInstanceVSwitchId.

Etapa 3: Iniciar a tarefa de assinatura

Execute o comando a seguir para chamar a operação StartDtsJob e iniciar a tarefa de assinatura.

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

Etapa 4: Consultar o status da tarefa

Execute o comando a seguir para chamar a operação DescribeDtsJobDetail e consultar o status da tarefa de assinatura.

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

Verifique se o Status na resposta é Normal, o que indica que a tarefa de assinatura está em execução.

Criar uma tarefa de validação de dados

Uma tarefa de validação de dados verifica a consistência dos dados entre os bancos de origem e destino após uma migração ou sincronização. O exemplo a seguir cria uma tarefa de validação para uma tarefa de migração de dados existente.

Etapa 1: Adquirir uma instância de validação

Execute o comando a seguir para chamar a operação CreateDtsInstance e adquirir uma instância de validação de dados.

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

Saída de exemplo:

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

Etapa 2: Configurar a tarefa de validação

Execute o comando a seguir para chamar a operação ConfigureDtsJob e configurar os bancos de dados de origem e destino da tarefa de validação.

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}}'

Saída de exemplo:

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

Etapa 3: Iniciar a tarefa de validação

Execute o comando a seguir para chamar a operação StartDtsJob e iniciar a tarefa de validação.

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

Etapa 4: Consultar os resultados da validação

Execute o comando a seguir para chamar a operação DescribeDtsJobDetail e consultar os resultados da tarefa de validação.

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

Confirme se o Status é Finished, o que indica que a validação foi concluída. Revise os detalhes na resposta para determinar se os dados estão consistentes.