Todos os produtos
Search
Central de documentação

DataWorks:CreateDIJob

Última atualização: Sep 29, 2026

Cria uma tarefa na nova versão do Data Integration.

Descrição da operação

  • Você deve adquirir o DataWorks Basic Edition ou uma edição superior para usar este recurso.

  • Esta operação cria uma tarefa de sincronização de integração de dados. Os parâmetros incluem a configuração de origem SourceDataSourceSettings e a configuração de destino DestinationDataSourceSettings, o tipo de sincronização compatível MigrationType, regras de transformação definidas por meio de TransformationRules para operações de mapeamento, como adição de colunas e renomeação de tabelas, tabelas específicas a serem sincronizadas e as regras de mapeamento a serem aplicadas definidas em TableMappings, e configurações no nível da tarefa, como mapeamentos de colunas e configurações de agendamento definidas em JobSettings.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

Nenhuma autorização necessária para esta operação. Se você encontrar problemas com esta operação, entre em contato com o suporte técnico.

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

DestinationDataSourceType

string

Não

O tipo da fonte de dados de destino. Valores válidos: Hologres, OSS-HDFS, OSS, MaxCompute, LogHub, StarRocks, DataHub, AnalyticDB_For_MySQL, Kafka, Hive.

Hologres

Description

string

Não

A descrição da tarefa.

DI Job Demo

SourceDataSourceType

string

Não

O tipo da fonte de dados de origem. Valores válidos: PolarDB, MySQL, Kafka, LogHub, Hologres, Oracle, OceanBase, MongoDB, RedShift, Hive, SQLServer, Doris, ClickHouse.

MySQL

ProjectId

integer

Não

O ID do espaço de trabalho do DataWorks. Você pode fazer login no console do DataWorks e acessar a página de gerenciamento do espaço de trabalho para obter o ID.

Este parâmetro especifica o espaço de trabalho do DataWorks para esta chamada de API.

10000

Name

string

Não

O nome da tarefa.

mysql_to_holo_sync_8772

MigrationType

string

Não

O tipo de sincronização. Valores válidos:

  • FullAndRealtimeIncremental: sincronização completa e incremental em tempo real para bancos de dados inteiros em tempo real.

  • RealtimeIncremental: sincronização incremental em tempo real para tabelas únicas em tempo real.

  • Full: sincronização completa para bancos de dados inteiros offline.

  • OfflineIncremental: sincronização incremental offline para bancos de dados inteiros offline.

  • FullAndOfflineIncremental: sincronização completa e incremental offline para bancos de dados inteiros offline.

FullAndRealtimeIncremental

JobType

string

Não

O tipo de tarefa. Valores válidos:

  • DatabaseRealtimeMigration: migração em tempo real de bancos de dados inteiros. Executa a sincronização por streaming de várias tabelas de vários bancos de dados de origem. Compatível com sincronização apenas completa, apenas incremental ou completa e incremental.

  • DatabaseOfflineMigration: migração offline de bancos de dados inteiros. Executa a sincronização em lote de várias tabelas de vários bancos de dados de origem. Compatível com sincronização apenas completa, apenas incremental ou completa e incremental.

  • SingleTableRealtimeMigration: migração em tempo real de uma única tabela. Executa a sincronização por streaming de uma única tabela de origem.

DatabaseRealtimeMigration

SourceDataSourceSettings

array<object>

Não

A lista de configurações da fonte de dados de origem.

array<object>

Não

Uma única configuração de fonte de dados de origem.

DataSourceName

string

Não

O nome da fonte de dados.

mysql_datasource_1

DataSourceProperties

object

Não

As propriedades da fonte de dados.

Encoding

string

Não

A codificação do banco de dados.

UTF-8

Timezone

string

Não

O fuso horário.

Asia/Shanghai

ConnectionProperties

string

Não

Especifique este parâmetro ou DataSourceName. Este parâmetro especifica informações personalizadas de configuração de conexão da fonte de dados, incluindo o ID da instância, a identidade de acesso e a região da instância.

Este parâmetro é compatível apenas com a configuração de fonte de dados no modo de instância (ConnectionPropertiesMode). Diferentes fontes de dados têm diferentes especificações de propriedades. Para obter mais informações, consulte Informações de conexão da fonte de dados ConnectionProperties.

{ "instanceId": "rm-2ze09gn3x6xxx", "password": "xxxx", "database": "agent", "username": "zmtest" "regionId": "cn-beijing" }

DestinationDataSourceSettings

array<object>

Não

A lista de configurações da fonte de dados de destino.

array<object>

Não

Uma única configuração de fonte de dados de destino.

DataSourceName

string

Não

O nome da fonte de dados.

holo_datasource_1

DataSourceProperties

object

Não

As propriedades da fonte de dados.

ConnectionProperties

string

Não

Especifique este parâmetro ou DataSourceName. Este parâmetro especifica informações personalizadas de configuração de conexão da fonte de dados, incluindo o ID da instância, a identidade de acesso e a região da instância.

Este parâmetro é compatível apenas com a configuração de fonte de dados no modo de instância (ConnectionPropertiesMode). Diferentes fontes de dados têm diferentes especificações de propriedades. Para obter mais informações, consulte Informações de conexão da fonte de dados ConnectionProperties.

{ "instanceId": "rm-2ze09gn3x6xxx", "password": "xxxx", "database": "agent", "username": "zmtest" "regionId": "cn-beijing" }

ResourceSettings

object

Não

As configurações de recursos.

OfflineResourceSettings

object

Não

As configurações de recursos de sincronização offline.

RequestedCu

number

Não

O número de unidades de computação (CUs) do grupo de recursos de integração de dados usado para sincronização offline.

2

ResourceGroupIdentifier

string

Não

O nome do grupo de recursos de integração de dados usado para sincronização offline.

S_res_group_111_222

RealtimeResourceSettings

object

Não

As configurações de recursos de sincronização em tempo real.

RequestedCu

number

Não

O número de CUs do grupo de recursos de integração de dados usado para sincronização em tempo real.

2

ResourceGroupIdentifier

string

Não

O nome do grupo de recursos de integração de dados usado para sincronização em tempo real.

S_res_group_111_222

ScheduleResourceSettings

object

Não

As configurações de recursos de agendamento.

RequestedCu

number

Não

O número de CUs do grupo de recursos de agendamento usado para nós de sincronização offline.

2

ResourceGroupIdentifier

string

Não

O nome do grupo de recursos de agendamento usado para nós de sincronização offline.

S_res_group_222_333

TransformationRules

array<object>

Não

A lista de definições de regras de transformação de objetos de sincronização.

Nota

[ { "RuleName":"my_database_rename_rule", "RuleActionType":"Rename", "RuleTargetType":"Schema", "RuleExpression":"{"expression":"${srcDatasoureName}_${srcDatabaseName}"}" } ]

object

Não

Uma única definição de regra de transformação de objeto de sincronização. Cada elemento representa uma regra de transformação.

RuleActionType

string

Não

O tipo de ação. Valores válidos:

  • DefinePrimaryKey: define uma chave primária.

  • Rename: renomeia um objeto.

  • AddColumn: adiciona uma coluna.

  • HandleDml: lida com operações DML.

  • DefineIncrementalCondition: define uma condição incremental.

  • DefineCycleScheduleSettings: define configurações de agendamento de ciclo.

  • DefinePartitionKey: define uma chave de partição.

Rename

RuleExpression

string

Não

A expressão da regra no formato de string JSON.

  1. Regra de renomeação (Rename)

  • Exemplo: {"expression":"${srcDatasourceName}_${srcDatabaseName}_0922" }

  • expression: a expressão da regra de transformação de renomeação. A expressão é compatível com as seguintes variáveis: ${srcDatasourceName} (nome da fonte de dados de origem), ${srcDatabaseName} (nome do banco de dados de origem) e ${srcTableName} (nome da tabela de origem).

  1. Regra de adição de coluna (AddColumn)

  • Exemplo: {"columns":[{"columnName":"my_add_column","columnValueType":"Constant","columnValue":"123"}]}

  • Se não for especificado, a regra padrão é não adicionar colunas nem realizar replicação.

  • columnName: o nome da coluna adicional.

  • columnValueType: o tipo de valor da coluna adicional. Valores válidos: Constant e Variable.

  • columnValue: o valor da coluna adicional. Quando columnValueType é definido como Constant, o valor é uma constante personalizada do tipo String. Quando columnValueType é definido como Variable, o valor é uma variável integrada. Variáveis integradas válidas: EXECUTE_TIME (tempo de execução, tipo Long), DB_NAME_SRC (nome do banco de dados de origem, tipo String), DATASOURCE_NAME_SRC (nome da fonte de dados de origem, tipo String), TABLE_NAME_SRC (nome da tabela de origem, tipo String), DB_NAME_DEST (nome do banco de dados de destino, tipo String), DATASOURCE_NAME_DEST (nome da fonte de dados de destino, tipo String), TABLE_NAME_DEST (nome da tabela de destino, tipo String) e DB_NAME_SRC_TRANSED (nome do banco de dados transformado, tipo String).

  1. Definir colunas de chave primária para a tabela de destino (DefinePrimaryKey)

  • Exemplo: {"columns":["ukcolumn1","ukcolumn2"]}

  • Se não for especificado, as colunas de chave primária de origem são usadas por padrão.

  • Quando a tabela de destino já existe: o sistema de integração de dados não modifica o esquema da tabela de destino. Se as colunas de chave primária especificadas não estiverem no conjunto de colunas de destino, o nó relatará um erro na inicialização.

  • Quando a tabela de destino usa criação automática: o sistema de integração de dados cria automaticamente o esquema da tabela de destino, que inclui as colunas de chave primária definidas. Se as colunas de chave primária especificadas não estiverem no conjunto de colunas de destino, o nó relatará um erro na inicialização.

  1. Regra de tratamento de operações DML (HandleDml)

  • Exemplo: {"dmlPolicies":[{"dmlType":"Delete","dmlAction":"Filter","filterCondition":"id > 1"}]}

  • Se não for especificado, a regra padrão é Normal para Insert, Update e Delete.

  • dmlType: o tipo de operações DML. Valores válidos: Insert, Update e Delete.

  • dmlAction: a política de tratamento de operações DML. Valores válidos: Normal (processar normalmente), Ignore (ignorar), Filter (processar normalmente de forma condicional, usado quando dmlType é Update ou Delete) e LogicalDelete (exclusão lógica).

  • filterCondition: a condição de filtro DML, usada quando dmlAction é definido como Filter.

  1. Condição incremental (DefineIncrementalCondition)

  • Exemplo: {"where":"id > 0"}

  • Especifica a condição de filtro incremental.

  1. Parâmetros de agendamento de ciclo (DefineCycleScheduleSettings)

  • Exemplo: {"cronExpress":" * * * * * *", "cycleType":"1"}

  • Especifica os parâmetros de agendamento do nó de ciclo.

  1. Definir chave de partição (DefinePartitionKey)

  • Exemplo: {"columns":["id"]}

  • Especifica a chave de partição.

{ "expression": "${srcDatasoureName}_${srcDatabaseName}" }

RuleName

string

Não

O nome da regra. Quando o tipo de ação e o tipo de destino são iguais, o nome da regra deve ser único. O nome não pode exceder 50 caracteres.

rename_rule_1

RuleTargetType

string

Não

O tipo de destino no qual a ação é aplicada. Valores válidos:

  • Table

  • Schema

  • Database

Table

TableMappings

array<object>

Não

A lista de mapeamentos de transformação de objetos de sincronização. Cada elemento descreve um grupo de regras de seleção de objetos de origem e as regras de transformação aplicadas a esse grupo.

Nota

[ { "SourceObjectSelectionRules":[ { "ObjectType":"Database", "Action":"Include", "ExpressionType":"Exact", "Expression":"biz_db" }, { "ObjectType":"Schema", "Action":"Include", "ExpressionType":"Exact", "Expression":"s1" }, { "ObjectType":"Table", "Action":"Include", "ExpressionType":"Exact", "Expression":"table1" } ], "TransformationRuleNames":[ { "RuleName":"my_database_rename_rule", "RuleActionType":"Rename", "RuleTargetType":"Schema" } ] } ]

array<object>

Não

Cada regra representa a seleção de uma tabela a ser sincronizada.

SourceObjectSelectionRules

array<object>

Não

Cada regra seleciona um conjunto de objetos de origem a serem sincronizados. Várias regras juntas selecionam uma única tabela.

object

Não

Cada regra seleciona diferentes tipos de objeto dos objetos de origem a serem sincronizados, como o banco de dados de origem ou a tabela de origem.

Action

string

Não

A ação de seleção. Valores válidos: Include e Exclude.

Include

Expression

string

Não

A expressão.

mysql_table_1

ExpressionType

string

Não

O tipo de expressão. Valores válidos: Exact e Regex.

Exact

ObjectType

string

Não

O tipo de objeto. Valores válidos:

  • Table

  • Schema

  • Database

Table

TransformationRules

array<object>

Não

A lista de definições de regras de transformação de objetos de sincronização. Cada elemento representa uma regra de transformação.

object

Não

A regra de transformação aplicada aos objetos de origem.

RuleName

string

Não

O nome da regra. O nome deve ser único dentro da mesma combinação de tipo de ação e tipo de destino. O nome não pode exceder 50 caracteres.

rename_rule_1

RuleActionType

string

Não

O tipo de ação. Valores válidos:

  • DefinePrimaryKey: define uma chave primária.

  • Rename: renomeia um objeto.

  • AddColumn: adiciona uma coluna.

  • HandleDml: lida com operações DML.

  • DefineIncrementalCondition: define uma condição incremental.

  • DefineCycleScheduleSettings: define configurações de agendamento de ciclo.

  • DefinePartitionKey: define uma chave de partição.

Rename

RuleTargetType

string

Não

O tipo de destino no qual a ação é aplicada. Valores válidos:

  • Table

  • Schema

  • Database

Table

JobSettings

object

Não

As configurações no nível da tarefa, incluindo políticas de tratamento de DDL, políticas de mapeamento de tipo de dados de coluna da origem para o destino e parâmetros de tempo de execução da tarefa.

ChannelSettings

string

Não

As configurações de tarefa relacionadas ao canal. Você pode configurar configurações especiais para canais específicos. Os canais atualmente compatíveis incluem Holo2Holo (sincronização do Hologres para o Hologres) e Holo2Kafka (sincronização do Hologres para o Kafka).

  1. Holo2Kafka

  • Exemplo: {"destinationChannelSettings":{"kafkaClientProperties":[{"key":"linger.ms","value":"100"}],"keyColumns":["col3"],"writeMode":"canal"}}

  • kafkaClientProperties: parâmetros do produtor do Kafka usados ao gravar no Kafka.

  • keyColumns: as colunas cujos valores são gravados no Kafka.

  • writeMode: o formato de gravação do Kafka. Atualmente compatível com json e canal.

  1. Holo2Holo

  • Exemplo: {"destinationChannelSettings":{"conflictMode":"replace","dynamicColumnAction":"replay","writeMode":"replay"}}

  • conflictMode: a política de tratamento de conflitos ao gravar no Hologres. Valores válidos: replace (sobrescrever) e ignore.

  • writeMode: o modo de gravação para o Hologres. Valores válidos: replay e insert.

  • dynamicColumnAction: o modo de tratamento de coluna dinâmica ao gravar no Hologres. Valores válidos: replay, insert e ignore.

{ "structInfo": "MANAGED", "storageType": "TEXTFILE", "writeMode": "APPEND", "partitionColumns": [ { "columnName": "pt", "columnType": "STRING", "comment": "" } ], "fieldDelimiter": "" }

ColumnDataTypeSettings

array<object>

Não

A matriz de mapeamento de tipo de dados de coluna.

Nota

["ColumnDataTypeSettings":[ { "SourceDataType":"Bigint", "DestinationDataType":"Text" } ]

object

Não

Um único mapeamento de tipo de dados de coluna.

DestinationDataType

string

Não

O tipo de dados de destino, como bigint, boolean, string, text, datetime, timestamp, decimal ou binary. Os tipos disponíveis variam de acordo com o tipo de fonte de dados.

text

SourceDataType

string

Não

O tipo de dados de origem, como bigint, boolean, string, text, datetime, timestamp, decimal ou binary. Os tipos disponíveis variam de acordo com o tipo de fonte de dados.

bigint

CycleScheduleSettings

object

Não

As configurações de agendamento de ciclo.

CycleMigrationType

string

Não

O tipo de sincronização que requer agendamento de ciclo. Valores válidos:

  • Full: sincronização completa.

  • OfflineIncremental: sincronização incremental offline.

Full

ScheduleParameters

string

Não

Os parâmetros de agendamento.

bizdate=$bizdate

DdlHandlingSettings

array<object>

Não

A matriz de configurações de tratamento de DDL.

Nota

["DDLHandlingSettings":[ { "Type":"Insert", "Action":"Normal" } ]

object

Não

Uma única configuração de tratamento de DDL.

Action

string

Não

A ação de tratamento. Valores válidos:

  • Ignore: ignora a operação DDL.

  • Critical: relata um erro.

  • Normal: processa a operação DDL normalmente.

Critical

Type

string

Não

O tipo de DDL. Valores válidos:

  • RenameColumn: renomeia uma coluna.

  • ModifyColumn: modifica uma coluna.

  • CreateTable: cria uma tabela.

  • TruncateTable: trunca uma tabela.

  • DropTable: exclui uma tabela.

  • DropColumn: exclui uma coluna.

  • AddColumn: adiciona uma coluna.

AddColumn

RuntimeSettings

array<object>

Não

As configurações de tempo de execução.

object

Não

Name

string

Não

O nome da configuração. Valores válidos:

  • src.offline.datasource.max.connection: o número máximo de conexões com a origem para tarefas em lote offline.

  • dst.offline.truncate: especifica se a tabela de destino deve ser truncada.

  • runtime.offline.speed.limit.enable: especifica se a limitação de taxa deve ser ativada para tarefas em lote offline.

  • runtime.offline.concurrent: a simultaneidade de tarefas de sincronização em lote offline.

  • runtime.enable.auto.create.schema: especifica se um esquema deve ser criado automaticamente no destino.

  • runtime.realtime.concurrent: a simultaneidade de tarefas em tempo real.

  • runtime.realtime.failover.minute.dataxcdc: o tempo de espera em minutos antes de reiniciar após uma falha de failover.

  • runtime.realtime.failover.times.dataxcdc: o número de tentativas de reinicialização após uma falha de failover.

runtime.offline.concurrent

Value

string

Não

O valor da configuração.

1

JobName deprecated

string

Não

[Obsoleto] Use o parâmetro Name em seu lugar.

mysql_to_holo_sync_8772

Owner

string

Não

O proprietário da tarefa.

3726346

FileSpec

string

Não

O conteúdo do código no modo de script.

{ "resourceSettings": { "realtimeResourceSettings": { "requestedCu": 2, "resourceGroupIdentifier": "Serverless_res_group_123_456" }, "offlineResourceSettings": { "requestedCu": 2, "resourceGroupIdentifier": "Serverless_res_group_123_456" } }, "tableMappings": [ { "sourceObjectSelectionRules": [ { "expression": "autotest_hologres", "action": "Include", "expressionType": "Exact", "objectType": "Datasource" }, { "expression": "auto_holo_2661647", "action": "Include", "expressionType": "Exact", "objectType": "Table" }, { "expression": "public", "action": "Include", "expressionType": "Exact", "objectType": "Schema" } ], "transformationRules": [ { "ruleTargetType": "Table", "ruleActionType": "SourceSchema", "ruleName": "SourceSchema_Table_BStf8aXPSCJjOWGe" }, { "ruleTargetType": "Schema", "ruleActionType": "Rename", "ruleName": "Rename_Schema_3qWNOIsljtInvKJy" }, { "ruleTargetType": "Table", "ruleActionType": "Rename", "ruleName": "Rename_Table_o3PVQq1aIKDGoVVW" }, { "ruleTargetType": "Table", "ruleActionType": "DefineDstTableSettings", "ruleName": "DefineDstTableSettings_Table_BhJltOmOCIc81fzi" }, { "ruleTargetType": "Table", "ruleActionType": "ColumnMapping", "ruleName": "ColumnMapping_Table_nP4hJPX1wh2W3fpo" } ] } ], "sourceDataSourceSettings": [ { "dataSourceProperties": { "timeZone": "Asia/Shanghai" }, "dataSourceName": "autotest_hologres" } ], "jobSettings": { "runtimeSettings": [ ], "ddlHandlingSettings": [ ], "columnDataTypeSettings": [ ], "cycleScheduleSettings": { }, "channelSettings": { "destinationChannelSettings": { "conflictMode": "replace", "dynamicColumnAction": "replay", "writeMode": "replay" }, "sourceChannelSettings": { } } }, "destinationDataSourceType": "Hologres", "transformationRules": [ { "ruleTargetType": "Table", "ruleName": "SourceSchema_Table_BStf8aXPSCJjOWGe", "ruleActionType": "SourceSchema", "ruleExpression": { "columns": [ { "name": "id", "category": "normal", "type": "BIGINT" }, { "name": "decimal", "category": "normal", "type": "DECIMAL" } ] } }, { "ruleTargetType": "Schema", "ruleName": "Rename_Schema_3qWNOIsljtInvKJy", "ruleActionType": "Rename", "ruleExpression": { "expression": "public" } }, { "ruleTargetType": "Table", "ruleName": "Rename_Table_o3PVQq1aIKDGoVVW", "ruleActionType": "Rename", "ruleExpression": { "expression": "auto_holo_2661647_dst" } }, { "ruleTargetType": "Table", "ruleName": "DefineDstTableSettings_Table_BhJltOmOCIc81fzi", "ruleActionType": "DefineDstTableSettings", "ruleExpression": { "ddlString": "BEGIN; CREATE TABLE IF NOT EXISTS public.auto_holo_2661647_dst ( id BIGINT PRIMARY KEY, "decimal" DECIMAL(38,18) ); CALL SET_TABLE_PROPERTY('public.auto_holo_2661647_dst', 'time_to_live_in_seconds', '3153600000'); CALL SET_TABLE_PROPERTY('public.auto_holo_2661647_dst', 'orientation', 'column'); CALL SET_TABLE_PROPERTY('public.auto_holo_2661647_dst', 'binlog.level', 'replica'); CALL SET_TABLE_PROPERTY('public.auto_holo_2661647_dst', 'binlog.ttl', '2592000'); CALL SET_TABLE_PROPERTY('public.auto_holo_2661647_dst', 'bitmap_columns', '"text","char","varchar"'); CALL SET_TABLE_PROPERTY('public.auto_holo_2661647_dst', 'dictionary_encoding_columns', '"text":auto,"bytea":auto,"char":auto,"varchar":auto'); CALL SET_TABLE_PROPERTY('public.auto_holo_2661647_dst', 'distribution_key', '"id"'); COMMIT; ", "ddlType": "STRUCT" } }, { "ruleTargetType": "Table", "ruleName": "ColumnMapping_Table_nP4hJPX1wh2W3fpo", "ruleActionType": "ColumnMapping", "ruleExpression": { "columnMapping": [ { "sourceColName": "id", "dstColName": "id" }, { "sourceColName": "decimal", "dstColName": "decimal" } ] } } ], "migrationType": "FullAndRealtimeIncremental", "destinationDataSourceSettings": [ { "dataSourceProperties": { }, "dataSourceName": "autotest_hologres" } ], "sourceDataSourceType": "Hologres" }

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

Esquema da resposta.

Id

integer

O ID da tarefa de integração de dados.

11792

RequestId

string

O ID da solicitação. Você pode usar este ID para localizar logs e solucionar problemas.

4F6AB6B3-41FB-5EBB-AFB2-0C98D49DA2BB

DIJobId deprecated

integer

[Obsoleto] Use o parâmetro de resposta Id em seu lugar.

11792

Exemplos

Resposta de sucesso

JSON formato

{
  "Id": 11792,
  "RequestId": "4F6AB6B3-41FB-5EBB-AFB2-0C98D49DA2BB",
  "DIJobId": 11792
}

Códigos de erro

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.