UpdateDIJob - 更新任务

更新数据集成任务。

接口说明

需要购买 DataWorks 基础版及以上版本才能使用。

调试

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

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
dataworks:UpdateDIJobupdate
*全部资源
*

请求参数

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

任务 ID。

11588
Descriptionstring

任务的描述。

任务的描述
TableMappingsarray<object>

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

说明 [ { "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" } ] } ]
object

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

SourceObjectSelectionRulesarray<object>

每条规则可选择待同步源端对象的不同对象类型,如选择源端数据库、源端数据表。

object

每条规则可选择待同步源端对象的不同对象类型,如选择源端数据库、源端数据表。

Actionstring

选择动作,取值范围:Include/Exclude

Include
Expressionstring

表达式。

mysql_table_1
ExpressionTypestring

表达式类型,取值范围:Exact/Regex

Exact
ObjectTypestring

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

  • Table(表)
  • Schema(schema)
  • Database(数据库)
Table
TransformationRulesarray<object>

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

object

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

RuleNamestring

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

rename_rule_1
RuleActionTypestring

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

  • DefinePrimaryKey(定义主键)
  • Rename(重命名)
  • AddColumn(增加列)
  • HandleDml(DML 处理)
Rename
RuleTargetTypestring

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

  • Table(表)
  • Schema(schema)
  • Database(数据库)
Table
JobSettingsobject

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

ChannelSettingsstring

通道相关任务设置,可以对一些特定通道进行特殊配置,目前支持 Holo2Holo,Holo2Kafka

  1. Holo2Kafka
  • 示例:{"destinationChannelSettings":{"kafkaClientProperties":[{"key":"linger.ms","value":"100"}],"keyColumns":["col3"],"writeMode":"canal"}}
  • kafkaClientProperties:kafka producer 参数,读取 kafka 时使用
  • keyColumns, 需要同步的 kafka 列取值
  • writeMode,写入格式,目前支持 json/canal
  1. Holo2Holo
  • 示例: {"destinationChannelSettings":{"conflictMode":"replace","dynamicColumnAction":"replay","writeMode":"replay"}}

  • conflictMode: 写入 holo 冲突处理策略,replace-覆盖、ignore-忽略

  • writeMode: 写入 holo 方式,replay-重放、insert-插入

  • dynamicColumnAction:写入 holo 动态列方式 replay-重放、insert-插入,ignore-忽略

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

列类型映射数组。

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

列类型映射。

DestinationDataTypestring

目标端类型。如 bigint,boolean,string,text,datetime,timestamp,decimal,binary,不同数据源类型会有类型差异

text
SourceDataTypestring

源端类型。如 bigint,boolean,string,text,datetime,timestamp,decimal,binary,不同数据源类型会有类型差异

bigint
CycleScheduleSettingsobject

周期调度设置。

ScheduleParametersstring

调度参数。

bizdate=$bizdate
DdlHandlingSettingsarray<object>

DDL 处理设置数组。

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

DDL 处理设置。

Actionstring

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

  • Ignore(忽略)
  • Critical(报错)
  • Normal(正常处理)
Critical
Typestring

DDL 类型,可选的枚举值;

  • RenameColumn(重命名列)
  • ModifyColumn(更新列)
  • CreateTable(新建表)
  • TruncateTable(清空表)
  • DropTable(删除表)
  • DropColumn(删除列)
  • AddColumn(新增列)
AddColumn
RuntimeSettingsarray<object>

运行时设置。

object

运行时设置。

Namestring

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

  • src.offline.datasource.max.connection(离线批量任务源端最大连接数)
  • dst.offline.truncate (是否清空目标表)
  • runtime.offline.speed.limit.enable(离线批量任务是否开启限流)
  • runtime.offline.concurrent(离线批量同步任务并发度)
  • runtime.enable.auto.create.schema(是否自动在目标端创建 schema)
  • runtime.realtime.concurrent(实时任务并发度)
  • runtime.realtime.failover.minute.dataxcdc (failover 失败重启等待时间单位分钟)
  • runtime.realtime.failover.times.dataxcdc (failover 失败重启次数)
runtime.offline.concurrent
Valuestring

设置取值。

1
ResourceSettingsobject

资源设置。

OfflineResourceSettingsobject

离线同步资源。

RequestedCudouble

离线同步使用的数据集成资源组 cu

2.0
ResourceGroupIdentifierstring

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

S_res_group_111_222
RealtimeResourceSettingsobject

实时同步资源。

RequestedCudouble

实时同步使用的数据集成资源组 cu

2.0
ResourceGroupIdentifierstring

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

S_res_group_111_222
ScheduleResourceSettingsobject

调度资源

RequestedCudouble

离线同步任务使用的调度资源组 cu

2.0
ResourceGroupIdentifierstring

离线同步任务使用的调度资源组标识

S_res_group_235454102432001_1721021993437
TransformationRulesarray<object>

同步对象转换规则定义列表。

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

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

RuleActionTypestring

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

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

规则表达式,json string 格式。

  1. 重命名规则(Rename)
  • 示例:{"expression":"${srcDatasourceName}_${srcDatabaseName}_0922" }
  • expression:为重命名转换规则表达式,表达式内支持变量包括:${srcDatasourceName}(源端数据源名)、${srcDatabaseName}(源端库名)、${srcTableName}(源端表名)。
  1. 加列规则(AddColumn)
  • 示例:{"columns":[{"columnName":"my_add_column","columnValueType":"Constant","columnValue":"123"}]}
  • 如不指定,默认规则为不加列不复制。
  • columnName:附加的列名称。
  • columnValueType:附加的列取值类型,包括 Constant(常量)、Variable(变量)。
  • columnValue:附加的列取值。当 columnValueType=Constant 时,value 为自定义常量,String 类型。当 columnValueType=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 类型)。
  1. 指定目标端表的主键列列名(DefinePrimaryKey)
  • 示例:{"columns":["ukcolumn1","ukcolumn2"]}
  • 如不指定默认使用源端主键列。
  • 当目标端为已有表:数据集成系统不会修改目标端表结构,如果指定的主键列不在目标端的列集合中,任务启动会报错提示。
  • 当目标端为自动建表:数据集成系统会自动创建目标端表结构,表结构包含定义的主键列。当指定的主键列不在目标端的列集合中时,任务启动会报错提示。
  1. 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 时使用
  1. 增量条件(DefineIncrementalCondition)
  • 示例: {"where":"id > 0"}
  • 指定增量过滤条件
  1. 周期调度参数(DefineCycleScheduleSettings)
  • 示例: {"cronExpress":" * * * * * *", "cycleType":"1"}
  • 指定周期任务调度参数
  1. 指定分区键(DefinePartitionKey)
  • 示例: {"columns":["id"]}
  • 指定分区键
{"expression":"${srcDatasoureName}_${srcDatabaseName}"}
RuleNamestring

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

rename_rule_1
RuleTargetTypestring

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

  • Table(表)
  • Schema(schema)
  • Database(数据库)
Table
ProjectIdlong

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

10000
DIJobIddeprecatedlong

该字段已废弃,请使用 Id 字段。

11588

返回参数

名称类型描述示例值
object

Schema of Response

Successboolean

调用是否成功。取值如下:

  • true:调用成功。
  • false:调用失败。
true
RequestIdstring

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

AAC30B35-820D-5F3E-A42C-E96BB****

示例

正常返回示例

JSON格式

{
  "Success": true,
  "RequestId": "AAC30B35-820D-5F3E-A42C-E96BB****"
}

错误码

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

变更历史

变更时间变更内容概要操作
2025-01-06OpenAPI 入参发生变更查看变更详情
2024-12-11API 内部配置变更,不影响调用查看变更详情
2024-10-14OpenAPI 入参发生变更查看变更详情