Todos os produtos
Search
Central de documentação

Data Transmission Service:Envio de dados

Última atualização: Aug 21, 2026

O recurso de envio de dados do Data Transmission Service (DTS) permite usar um SDK para enviar dados de várias origens para o DTS. Em seguida, o DTS sincroniza esses dados com um banco de dados de destino, ampliando a variedade de fontes de dados suportadas.

Casos de uso

Este recurso é adequado para os seguintes cenários:

  • A origem é um tipo de banco de dados que o DTS não suporta nativamente para sincronização de dados.

  • A origem consiste em dados de log ou tipos especiais de dados.

  • Não é possível conectar o banco de dados de origem diretamente ao DTS por motivos de segurança, como a necessidade de manter as credenciais do banco de dados confidenciais.

Pré-requisitos

  • Crie uma instância de destino para receber os dados. Atualmente, apenas o AnalyticDB for PostgreSQL é suportado. Para obter instruções, consulte {{XREF_0}}.

  • Na instância de destino do AnalyticDB for PostgreSQL, crie um banco de dados e um schema para receber os dados. Neste tópico, o schema recebe o nome dts_deliver_test. Para obter instruções, consulte {{XREF_1}}.

  • Se você precisar definir o Access Method do banco de dados de origem como Express Connect, VPN Gateway, or Smart Access Gateway, permita que o DTS acesse seu banco de dados por meio de um gateway de VPN. Para obter instruções, consulte {{XREF_2}}.

Observações de uso

  • É necessário ter habilidades de programação para usar o SDK e enviar dados da origem para o DTS.

  • O nome do schema na instância do AnalyticDB for PostgreSQL, o nome do banco de dados inserido durante a etapa de Drop data object configuration e o dbName especificado no SDK devem ser idênticos. Caso contrário, o destino pode não receber os dados.

  • Não é possível alterar o número de shards após a criação da instância.

  • Após criar uma instância de envio de dados, inicie imediatamente o envio usando o SDK. Caso contrário, a instância falhará porque não conseguirá coletar dados incrementais.

  • Se uma tarefa falhar, a equipe de suporte do DTS tentará restaurá-la em até oito horas. Durante a restauração, eles podem reiniciar a tarefa ou ajustar seus parâmetros.

    Nota

    Apenas os parâmetros da tarefa do DTS são modificados, não os parâmetros do banco de dados. Os parâmetros que podem ser ajustados incluem aqueles listados em {{XREF_3}}.

Faturamento

Para mais informações, consulte {{XREF_4}}.

Criar uma instância de envio de dados

  1. Acesse a página Data Synchronization Tasks.

    1. Faça login no console do Data Management (DMS).

    2. Na barra de navegação superior, clique em Data + AI.

    3. No painel de navegação à esquerda, escolha DTS (DTS) > Data Synchronization.

    Nota
  2. Clique em Create Task para abrir a página de configuração da tarefa.

  3. Configure os bancos de dados de origem e de destino.

    Categoria

    Parâmetro

    Descrição

    N/A

    Task Name

    O DTS gera automaticamente um nome para a tarefa. Recomendamos que você especifique um nome descritivo para facilitar a identificação. O nome não precisa ser único.

    Source Database

    Select Existing Connection

    Não selecione uma instância de banco de dados. Para uma tarefa de envio de dados, você deve inserir manualmente as informações do banco de dados abaixo.

    Database Type

    Selecione Data Shipping.

    Access Method

    Escolha um método de acesso conforme suas necessidades. Neste tópico, Public IP Address está selecionado.

    Nota

    Se você selecionar Express Connect, VPN Gateway, or Smart Access Gateway, também deverá selecionar a VPC e o vSwitch aos quais o gateway de VPN pertence.

    Instance Region

    Selecione a região onde seu cliente está localizado.

    Nota

    Se a região onde seu banco de dados está localizado não estiver na lista, selecione a região geograficamente mais próxima.

    Destination Database

    Select Existing Connection

    • Para usar uma instância de banco de dados que seja {{XREF_7}} (recém-criada ou salva), selecione a instância na lista suspensa. As informações do banco de dados serão configuradas automaticamente.

      Nota

      No console do DMS, este item de configuração chama-se Select a DMS database instance..

    • Se você não adicionou a instância de banco de dados ao sistema ou não precisa usar uma instância já adicionada, configure manualmente as seguintes informações do banco de dados.

    Database Type

    Selecione AnalyticDB for PostgreSQL.

    Access Method

    Selecione Alibaba Cloud Instance.

    Instance Region

    Selecione a região onde a instância de destino do AnalyticDB for PostgreSQL está localizada.

    Instance ID

    Selecione o ID da instância de destino do AnalyticDB for PostgreSQL.

    Database Name

    Insira o nome do banco de dados na instância de destino do AnalyticDB for PostgreSQL para receber os dados.

    Database Account

    Insira a conta da instância de destino do AnalyticDB for PostgreSQL. A conta deve ter permissões de leitura e gravação. Para criar uma conta, consulte {{XREF_8}}.

    Database Password

    Insira a senha correspondente à conta do banco de dados.

  4. Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página.

    Nota
    • Certifique-se de que os blocos CIDR de endereços IP dos servidores do DTS estejam adicionados às configurações de segurança dos bancos de dados de origem e de destino para permitir o acesso desses servidores. Isso pode ser feito automática ou manualmente. Para mais informações, consulte {{XREF_9}}.

    • Se o banco de dados de origem ou de destino for autogerenciado (onde o Access Method não é Alibaba Cloud Instance), você também deve clicar em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers.

  5. Configure os objetos da tarefa.

    1. Na página Configure Objects, configure os objetos a serem sincronizados.

      Parâmetro

      Descrição

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Verifica se existe uma tabela com o mesmo nome no banco de dados de destino. Se não existir, a pré-verificação é aprovada. Se existir, a pré-verificação falha e a tarefa de sincronização de dados não inicia.

        Nota

        Se não for possível excluir ou renomear a tabela com o mesmo nome no banco de dados de destino, você poderá mapeá-la para um nome diferente. Para mais informações, consulte {{XREF_10}}.

      • Ignore Errors and Proceed: Ignora a verificação de nomes de tabelas duplicados no banco de dados de destino.

        Aviso

        Selecionar Ignore Errors and Proceed pode causar inconsistência de dados e colocar seus negócios em risco. Por exemplo:

        • Se os schemas das tabelas forem iguais e um registro no banco de dados de destino tiver o mesmo valor de chave primária ou única que um registro no banco de dados de origem:

          • Durante a sincronização completa, o DTS mantém o registro no cluster de destino. O registro correspondente do banco de dados de origem não é sincronizado.

          • Durante a sincronização incremental, o registro do banco de dados de origem substitui o registro no banco de dados de destino.

        • Se os schemas das tabelas forem diferentes, a sincronização inicial de dados pode falhar. Isso pode resultar na sincronização apenas parcial dos dados das colunas ou em uma falha completa. Prossiga com cautela.

      Capitalization of Object Names in Destination Instance

      Você pode configurar a política de diferenciação entre maiúsculas e minúsculas para nomes de objetos de banco de dados, tabelas e colunas sincronizados com a instância de destino. Por padrão, a DTS default policy está selecionada. Você também pode optar por usar as políticas padrão dos bancos de dados de origem e de destino. Para mais informações, consulte {{XREF_11}}.

      Drop data object configuration

      1. Clique em Add Library. Na caixa de diálogo New Database, insira o nome do banco de dados de origem.

        Importante
        • O nome do banco de dados de origem deve ser igual ao nome do schema na instância do AnalyticDB for PostgreSQL. Este exemplo usa dts_deliver_test.

        • Se um banco de dados já estiver na lista e você precisar adicionar outro, clique no botão Add ao lado do banco de dados existente.

      2. Clique em OK.

      3. Clique em image.png ao lado do banco de dados recém-adicionado para expandir a lista de bancos de dados.

      4. Clique em Add Table ao lado de Table. Na caixa de diálogo Add Table, insira o nome da tabela de origem.

        Importante

        O nome da tabela de origem deve ser igual ao tableName configurado no SDK. Este exemplo usa tab1,tab2,tab3. Para mais informações, consulte {{XREF_12}}.

      5. Clique em OK.

      6. (Opcional) Configure os mapeamentos de nomes de tabelas e colunas.

        1. Clique em Edit ao lado da tabela recém-criada.

        2. Configure o mapeamento de nomes de tabelas.

          Modifique o Table Name.

        3. Configure o mapeamento de nomes de colunas.

          Desmarque a caixa de seleção Sync All Columns e modifique o Column Name e o Map column name.

          Importante
          • Os parâmetros Column Name e Map column name correspondem a configurações no SDK. Column Name é o nome da coluna de origem do SDK (especificamente, o parâmetro name de createField no arquivo FakeSource.java), e Map column name é o nome da coluna na instância de destino do AnalyticDB for PostgreSQL.

          • Clique no ícone image.png para adicionar mais colunas.

        4. Após concluir a configuração, clique em OK.

          Nota

          Você pode repetir as operações para adicionar, editar, editar em lote ou excluir bancos de dados ou tabelas conforme necessário.

    2. Clique em Next: Advanced Settings para configurar parâmetros avançados.

      Parâmetro

      Descrição

      Dedicated Cluster for Task Scheduling

      Por padrão, o DTS agenda a tarefa em um cluster compartilhado, sem necessidade de seleção. Você pode adquirir um cluster dedicado de uma classe de instância específica para executar tarefas do DTS. Para detalhes, consulte {{XREF_13}}

      Retry Time for Failed Connections

      Após o início de uma tarefa de sincronização, se a conexão com o banco de dados de origem ou de destino falhar, o DTS relata um erro e inicia imediatamente uma nova tentativa de conexão. A duração padrão de nova tentativa é de 720 minutos. Você também pode especificar uma duração personalizada de 10 a 1.440 minutos. Recomendamos definir a duração para 30 minutos ou mais. Se o DTS reconectar com sucesso ao banco de dados dentro do período especificado, a tarefa de sincronização será retomada automaticamente. Caso contrário, a tarefa falhará.

      Nota
      • Se você tiver várias instâncias do DTS (por exemplo, Instância A e Instância B) que compartilham a mesma origem ou destino, e definir o tempo de nova tentativa de rede como 30 minutos para a Instância A e 60 minutos para a Instância B, a duração menor de 30 minutos será usada para ambas.

      • Como o DTS cobra pelo tempo de execução da tarefa durante o período de nova tentativa de conexão, recomendamos personalizar a duração da nova tentativa com base nas necessidades do seu negócio ou liberar a instância do DTS assim que possível após a liberação das instâncias de banco de dados de origem e de destino.

      Retry Time for Other Issues

      Após o início da tarefa de sincronização, se ocorrerem outros problemas não relacionados à conectividade com o banco de dados de origem ou de destino (como exceções na execução de DDL ou DML), o DTS relata um erro e inicia imediatamente operações contínuas de nova tentativa. A duração padrão de nova tentativa é de 10 minutos. Você também pode personalizar a duração dentro do intervalo de 1 a 1.440 minutos. Recomendamos definir para 10 minutos ou mais. Se as operações relevantes forem bem-sucedidas dentro da duração definida, a tarefa de sincronização será retomada automaticamente. Caso contrário, a tarefa falhará.

      Importante

      O valor de Retry Time for Other Issues deve ser menor que o de Retry Time for Failed Connections.

      Enable Throttling for Incremental Data Synchronization

      Você pode escolher se deseja definir um limite de taxa para a tarefa de sincronização incremental definindo o RPS of Incremental Data Migration e o BPS of Incremental Data Migration para reduzir a carga no banco de dados de destino.

      Environment Tag

      Selecione uma tag de ambiente para identificar a instância conforme suas necessidades.

      Configure ETL

      Escolha se deseja ativar o recurso de extração, transformação e carregamento (ETL). Para mais informações, consulte {{XREF_14}} Valores válidos:

      • Yes: Ativa o recurso ETL. Insira instruções de processamento de dados no editor de código. Para mais informações, consulte {{XREF_15}}.

      • No: Desativa o recurso ETL.

      Monitoring and Alerting

      Selecione se deseja definir alertas e receber notificações de alerta com base nas necessidades do seu negócio.

      • No: Não define alerta.

      • Yes: Configure alertas definindo um {{XREF_16}} e um notificações de alerta. Se uma migração falhar ou a latência exceder o limiar, o sistema envia uma notificação de alerta.

  6. Salve a tarefa e execute uma pré-verificação.

    • Para visualizar os parâmetros da API para configurar esta instância, passe o mouse sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters no balão.

    • Se você terminou de visualizar os parâmetros da API, clique em Next: Save Task Settings and Precheck na parte inferior da página.

    Nota
    • Antes do início do trabalho de sincronização, o DTS executa uma pré-verificação. O trabalho só pode começar após a aprovação de todos os itens da pré-verificação.

    • Se a pré-verificação falhar, clique em View Details para o item com falha. Corrija o problema conforme indicado e execute a pré-verificação novamente.

    • Se a pré-verificação retornar um aviso:

      • Se um item de verificação falhar e não puder ser ignorado, clique em View Details ao lado do item. Siga as instruções para corrigir o problema e execute a pré-verificação novamente.

      • Para itens de verificação que podem ser ignorados, você pode clicar em Confirm Alert Details, Ignore, OK e Precheck Again em sequência para pular o aviso e executar a pré-verificação novamente. Se você optar por ignorar o item de aviso, isso pode causar problemas como inconsistência de dados e representar riscos aos seus negócios.

  7. Adquira a instância.

    1. Quando a Success Rate for 100%, clique em Next: Purchase Instance.

    2. Na página Purchase, selecione o método de faturamento e a classe da instância para a instância de sincronização de dados. A tabela a seguir descreve os parâmetros.

      Categoria

      Parâmetro

      Descrição

      New Instance Class

      Método de faturamento

      • Assinatura: A cobrança ocorre quando você cria a instância. Este método é adequado para necessidades de longo prazo e é mais econômico que o pagamento conforme o uso. Quanto maior o período de assinatura, maior o desconto.

      • Pagamento conforme o uso: A cobrança é feita por hora. Este método é adequado para necessidades de curto prazo. Você pode liberar a instância a qualquer momento para economizar custos.

      Número de shards

      O número de partições para o tópico de destino.

      Importante

      O número de shards não pode ser modificado após a criação da instância. Selecione o valor com cautela.

      Grupo de recursos

      O grupo de recursos ao qual a instância pertence. O valor padrão é default resource group. Para mais informações, consulte {{XREF_17}}

      Classe da instância

      O DTS oferece várias classes de instância com diferentes níveis de desempenho. A classe da instância afeta a velocidade de sincronização. Selecione uma classe de instância com base no seu cenário de negócios. Para mais informações, consulte {{XREF_18}}.

      Duração da assinatura

      Para o método de faturamento por assinatura, selecione a duração da instância. Você pode selecionar uma assinatura mensal de 1 a 9 meses ou uma assinatura anual de 1, 2, 3 ou 5 anos.

      Nota

      Esta opção está disponível apenas quando o método de faturamento é Subscription.

    3. Após concluir a configuração, leia e selecione Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Clique em Buy and Start. Na caixa de diálogo OK, clique em OK.

      Você pode visualizar o progresso da tarefa na página Data Synchronization.

Enviar dados com o SDK

  1. Configure o SDK de envio de dados do DTS.

    1. Abra uma IDE como o IntelliJ IDEA e crie um projeto.

    2. No novo projeto, localize o arquivo Project Object Model (POM): pom.xml.

    3. Adicione a seguinte dependência ao arquivo pom.xml:

      <dependency>
        <groupId>com.aliyun.dts.deliver</groupId>
        <artifactId>dts-deliver-client</artifactId>
        <version>1.0.0</version>
      </dependency>
      Nota

      Você pode encontrar a dependência Maven mais recente na página dts-deliver-client.

    4. Baixe o código de exemplo e consulte o arquivo DtsDeliverTest.java na pasta dts-deliver-test para enviar dados. Para o código de exemplo, consulte Usar código de exemplo.

      Nota

      No arquivo FakeSource.java, o método read é um exemplo de fonte de dados, e o name em createField é o nome da coluna de origem. Você deve modificar o código com base nas suas necessidades.

      Na lista Data Synchronization Tasks, clique no ID da instância de envio de dados desejada e, no painel de navegação à esquerda, clique em Basic Information para obter os parâmetros usados no código de exemplo do SDK.

      Parâmetro

      Descrição

      Como obter

      ip:port

      O endpoint do canal de envio de dados.

      Na seção Shipping Channel Information, clique em Copy ao lado de Public Endpoint ou VPC Endpoint.

      Importante

      Você só pode usar o VPC Endpoint se a rede do cliente estiver na mesma Virtual Private Cloud (VPC) da instância atual.

      ak

      O AccessKey ID e o AccessKey secret da conta proprietária da instância de envio de dados do DTS.

      Para mais informações, consulte {{XREF_19}} e {{XREF_20}}.

      secret

      dts_job_id

      Nota

      O valor a ser inserido para DTS_JOB_ID.getKey().

      O ID da tarefa da instância de envio de dados do DTS.

      Importante

      Não use o ID da instância.

      Você pode chamar a operação da API DescribeDtsJobs{{XREF_21}} para consultar o ID.

      Nota

      No Shipped Topic, o dts_job_id é a string entre _vpc_ e _data_delivery_. Por exemplo, se o Shipped Topic for cn_hangzhou_vpc_cxti86dc11z_data_delivery_version2, então o dts_job_id será cxti86dc11z.

      Topic

      O tópico de envio de destino.

      Na seção Shipping Channel Information, clique em Copy ao lado de Shipped Topic.

      partition

      O número de partições no tópico de destino.

      Na seção Shipping Channel Information, visualize o valor de Shards.

      region

      A região da instância de envio de dados do DTS.

      Na seção Shipping Channel Information, visualize o valor de Instance Region.

      dbName

      O nome do banco de dados de origem. Deve ser igual ao nome do schema na instância do AnalyticDB for PostgreSQL.

      Insira o nome conforme suas necessidades. Este exemplo usa dts_deliver_test.

      tableName

      O nome da tabela de origem. Deve ser igual ao nome da tabela inserido na etapa de Drop data object configuration.

      Insira os nomes conforme suas necessidades. Este exemplo usa tab1, tab2 e tab3.

  2. Após configurar os parâmetros, registre a hora atual e inicie o SDK.

  3. Modifique o offset atual da instância de envio de dados. Para mais informações, consulte {{XREF_22}}.

    Nota

    Por padrão, o Current Offset de uma instância de envio de dados é a hora em que o módulo Incremental Write inicia. Você deve alterar o offset para a hora em que o SDK foi iniciado.

  4. Visualize os dados no banco de dados de destino.