文档

CreateDIJob - 创建数据集成新版任务

更新时间:

创建数据集成新版任务,当前支持的任务类型包括:MySQL到Hologres整库实时解决方案。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

当前API暂无授权信息透出。

请求参数

名称类型必填描述示例值
ProjectIdlong

DataWorks 工作空间 ID。您可以通过 ListProjects 接口获取工作空间 ID。

10000
JobNamestring

任务名称。

mysql_to_holo_sync_8772
Descriptionstring

任务描述。

mysql同步到hologres
MigrationTypestring

同步类型,可选的枚举值有:

  • FullAndRealtimeIncremental(全量和实时增量)
  • RealtimeIncremental(实时增量)
  • Full(全量)
  • OfflineIncremental(离线增量)
  • FullAndOfflineIncremental(全量+离线增量)
FullAndRealtimeIncremental
SourceDataSourceTypestring

源端数据源类型,枚举值:MySQL。

MySQL
DestinationDataSourceTypestring

目标端数据源类型,枚举值:Hologres、Hive。

Hologres
SourceDataSourceSettingsobject []

源端数据源设置,目前仅支持单个数据源。

DataSourceNamestring

数据源名称。

mysql_datasource_1
DataSourcePropertiesobject

数据源属性。

string

源端数据源属性。MySQL 数据源支持的属性名称包括:TimeZone(时区),Encoding(编码)。

TimeZone
DestinationDataSourceSettingsobject []

目标端数据源设置,目前仅支持单个数据源。

DataSourceNamestring

数据源名称。

holo_datasource_1
DataSourcePropertiesobject

数据源属性。

string

目标端数据源属性。Hologres 数据源暂无属性可设置。

TimeZone
ResourceSettingsobject

资源设置。

OfflineResourceSettingsobject

离线同步资源。

ResourceGroupIdentifierstring

离线同步使用的数据集成资源组标识。

S_res_group_111_222
RealtimeResourceSettingsobject

实时同步资源。

ResourceGroupIdentifierstring

实时同步使用的数据集成资源组标识。

S_res_group_111_222
TransformationRulesobject []

同步对象转换规则定义列表,列表中每个元素为一条转换规则定义。

RuleNamestring

规则名称,当动作类型和动作作用的目标类型相同时,规则名称需保证唯一性。

rename_rule_1
RuleActionTypestring

动作类型,可选的枚举值:

  • DefinePrimaryKey(定义主键)
  • Rename(重命名)
  • AddColumn(增加列)
  • HandleDml(DML 处理)
  • DefineIncrementalCondition(定义增量条件)
  • DefineCycleScheduleSettings(定义周期调度设置)
  • DefineRuntimeSettings(定义高级配置参数)
  • DefinePartitionKey(定义分区列)
Rename
RuleTargetTypestring

动作作用的目标类型,可选的枚举值:

  • Table(表)
  • Schema(schema)
Table
RuleExpressionstring

规则表达式,json string 格式。

重命名规则(Rename)示例: {"expression":"${srcDatasourceName}_${srcDatabaseName}_0922","variables":[{"variableName":"srcDatabaseName","variableRules":[{"from":"fromdb","to":"todb"}]}]}

  • expression:为重命名转换规则表达式,表达式内支持变量包括:${srcDatasourceName}(源端数据源名)、${srcDatabaseName}(源端库名)、${srcTableName}(源端表名)。
  • variables:为重命名转换规则表达式中各变量的生成规则,参数默认值为对应含义在源端的原始值,可按需定义一组字符串替换规则对原始值进行改写。variableName:变量名,不含${}。variableRules:变量生成规则组,按顺序串行执行替换,from 原始字符串;to 替换后字符串。

在目标端增加指定列并赋值规则(AddColumn)示例: {"columns":[{"columnName":"my_add_column","columnValueType":"Constant","columnValue":"123"}]}

  • 如不指定,默认规则为不加列不复制。
  • columnName:附加的列名称。
  • columnValueType:附加的列取值类型,包括 Constant(常量)、Variable(变量)。
  • columnValue:附加的列取值。当 valueType=Constant 时,value 为自定义常量,String 类型。当 valueType=Variable 时,value 为内置变量。内置变量可选值包括:EXECUTE_TIME(执行时间,Long 类型)、DB_NAME_SRC(源端数据库名称,String 类型)、DATASOURCE_NAME_SRC(源端数据源名称,String 类型)、TABLE_NAME_SRC(源端表名,String 类型)、DB_NAME_DEST(目标端数据库名称,String 类型)、DATASOURCE_NAME_DEST(目标端数据源名称,String 类型)、TABLE_NAME_DEST(目标端表名,String 类型)、DB_NAME_SRC_TRANSED(转换后的数据库名称,String 类型)。

指定目标端表的主键列列名(DefinePrimaryKey)示例: {"columns":["ukcolumn1","ukcolumn2"]}

  • 如不指定默认使用源端主键列。
  • 当目标端为已有表:数据集成系统不会修改目标端表结构,如果指定的主键列不在目标端的列集合中,任务启动会报错提示。
  • 当目标端为自动建表:数据集成系统会自动创建目标端表结构,表结构包含定义的主键列。当指定的主键列不在目标端的列集合中时,任务启动会报错提示。

DML 处理规则(HandleDml)示例: {"dmlPolicies":[{"dmlType":"Delete","dmlAction":"Filter","filterCondition":"id > 1"}]}

  • 如不指定,默认规则为 Insert、Update、Delete 均为 Normal
  • dmlType:DML 操作类型,Insert(插入)、Update(更新)、Delete(删除)
  • dmlAction:DML 处理策略,Normal(正常处理)、Ignore(忽略)、Filter(有条件的正常处理,当 dmlType=Update/Delete 时使用)、LogicalDelete(逻辑删除)
  • filterCondition:DML 过滤条件,当 dmlAction=Filter 时使用
{"expression":"${srcDatasoureName}_${srcDatabaseName}"}
TableMappingsobject []

同步对象转换映射列表,列表中每个元素描述了一组源端同步对象选择规则列表和在该组同步对象上应用的同步对象转换规则列表。

SourceObjectSelectionRulesobject []

源端对象选择规则,支持多条。

ObjectTypestring

对象类型,可选的枚举值:

  • Table(表)
  • Database(数据库)
Table
Expressionstring

表达式。

mysql_table_1
TransformationRulesobject []

源端对象上应用的转换规则列表。

RuleNamestring

规则名称,在一种动作类型+动作作用的目标类型下规则名称唯一。

rename_rule_1
RuleActionTypestring

动作类型,可选的枚举值:

  • DefinePrimaryKey(定义主键)
  • Rename(重命名)
  • AddColumn(增加列)
  • HandleDml(DML 处理)
  • DefineIncrementalCondition(定义增量条件)
  • DefineCycleScheduleSettings(定义周期调度设置)
  • DefineRuntimeSettings(定义高级配置参数)
  • DefinePartitionKey(定义分区列)
Rename
RuleTargetTypestring

动作作用的目标类型,可选的枚举值:

  • Table(表)
  • Schema(schema)
Table
JobSettingsobject

同步任务维度的设置,含 DDL 处理策略、源端和目标端列数据类型映射策略、任务运行时参数等。

DdlHandlingSettingsobject []

DDL 处理设置。

Typestring

DDL 类型,可选的枚举值:

  • RenameColumn(重命名列)
  • ModifyColumn(重命名列)
  • CreateTable(重命名列)
  • TruncateTable(清空表)
  • DropTable(删除表)
  • DropColumn(删除列)
  • AddColumn(新增列)
AddColumn
Actionstring

处理动作,可选的枚举值:

  • Ignore(忽略)
  • Critical(报错)
  • Normal(正常处理)
Critical
ColumnDataTypeSettingsobject []

列类型映射,多值。

SourceDataTypestring

源端类型。

bigint
DestinationDataTypestring

目标端类型。

text
RuntimeSettingsobject []

运行时设置,多值。

Namestring

设置名称,可选的枚举值:

  • runtime.offline.speed.limit.mb(离线批量任务限流大小,当 runtime.offline.speed.limit.enable=true 时有效)
  • runtime.offline.speed.limit.enable(离线批量任务是否开启限流)
  • dst.offline.connection.max(离线批量任务写端最大连接数)
  • runtime.offline.concurrent(离线批量同步任务并发度)
  • dst.realtime.connection.max(实时任务写端最大连接数)
  • runtime.enable.auto.create.schema(是否自动在目标端创建 schema)
  • src.offline.datasource.max.connection(离线批量任务源端最大连接数)
  • runtime.realtime.concurrent(实时任务并发度)
runtime.offline.concurrent
Valuestring

设置取值。

1
CycleScheduleSettingsobject

周期调度设置。

CycleMigrationTypestring

需要周期调度的同步类型。取值范围:

  • Full:全量
  • OfflineIncremental:离线增量
Full
ScheduleParametersstring

调度参数。

bizdate=$bizdate
ChannelSettingsstring

通道相关任务设置,Json String 形式。

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

同步任务导入设置。

Sourcestring

任务配置导入来源。取值范围: Datastudio:数据开发中的同步任务

Datastudio
FileIdstring

待导入任务 ID。

10000
SystemDebugstring

系统调试使用,默认 false。

false

返回参数

名称类型描述示例值
object

返回数据。

RequestIdstring

请求的 ID。用于定位日志,排查问题。

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

数据集成任务 ID。

11792

示例

正常返回示例

JSON格式

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

错误码

HTTP status code错误码错误信息描述
429Throttling.ApiThe request for this resource has exceeded your available limit.对该资源的请求已超过您的可用上限。
429Throttling.SystemThe DataWorks system is busy. Try again later.DataWorks系统繁忙,请稍后再试。
429Throttling.UserYour request is too frequent. Try again later.您的请求过于频繁,请尝试放缓请求速度。
500InternalError.SystemAn internal system error occurred. Try again later.系统内部错误,请稍后再试。
500InternalError.UserId.MissingAn internal system error occurred. Try again later.系统内部错误,请稍后再试。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-06-04OpenAPI 错误码发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    删除错误码:429
    删除错误码:500
2024-02-28OpenAPI 错误码发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    删除错误码:429
    删除错误码:500
2024-01-18OpenAPI 错误码发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    删除错误码:403
    删除错误码:429
    删除错误码:500
  • 本页导读 (1)