调用CreateDIJob接口,创建数据集成新版任务。当前支持的任务类型包括:MySQL到Hologres整库实时、MySQL到Hive整库离线同步任务。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | CreateDIJob | 系统规定参数。取值:CreateDIJob。 |
ProjectId | Long | 否 | 10000 | DataWorks工作空间ID。您可以通过ListProjects接口获取工作空间ID。 |
JobName | String | 否 | mysql_to_holo_sync_8772 | 任务名称。 |
Description | String | 否 | mysql同步到hologres | 任务描述。 |
MigrationType | String | 否 | FullAndRealtimeIncremental | 同步类型,可选的枚举值有:
|
SourceDataSourceType | String | 否 | MySQL | 源端数据源类型,枚举值:MySQL。 |
DestinationDataSourceType | String | 否 | Hologres | 目标端数据源类型,枚举值:Hologres、Hive。 |
SourceDataSourceSettings | Array | 否 | 源端数据源设置,目前仅支持单个数据源。 |
|
DataSourceName | String | 否 | mysql_datasource_1 | 数据源名称。 |
DataSourceProperties | Map | 否 | TimeZone | 数据源属性。 |
String | 否 | TimeZone | 源端数据源属性。MySQL数据源支持的属性名称包括:TimeZone(时区),Encoding(编码)。 |
|
DestinationDataSourceSettings | Array | 否 | 目标端数据源设置,目前仅支持单个数据源。 |
|
DataSourceName | String | 否 | holo_datasource_1 | 数据源名称。 |
DataSourceProperties | Map | 否 | TimeZone | 数据源属性。 |
String | 否 | TimeZone | 目标端数据源属性。Hologres数据源暂无属性可设置。 |
|
ResourceSettings | Object | 否 | 资源设置。 |
|
OfflineResourceSettings | Object | 否 | 离线同步资源。 |
|
ResourceGroupIdentifier | String | 否 | S_res_group_111_222 | 离线同步使用的数据集成资源组标识。 |
RealtimeResourceSettings | Object | 否 | 实时同步资源。 |
|
ResourceGroupIdentifier | String | 否 | S_res_group_111_222 | 实时同步使用的数据集成资源组标识。 |
TransformationRules | Array | 否 | 同步对象转换规则定义列表,列表中每个元素为一条转换规则定义。 |
|
RuleName | String | 否 | rename_rule_1 | 规则名称,当动作类型和动作作用的目标类型相同时,规则名称需保证唯一性。 |
RuleActionType | String | 否 | Rename | 动作类型,可选的枚举值:
|
RuleTargetType | String | 否 | Table | 动作作用的目标类型,可选的枚举值:
|
RuleExpression | String | 否 | {"expression":"${srcDatasoureName}_${srcDatabaseName}"} | 规则表达式,json string格式。 重命名规则(Rename)示例: {"expression":"${srcDatasourceName}_${srcDatabaseName}_0922","variables":[{"variableName":"srcDatabaseName","variableRules":[{"from":"fromdb","to":"todb"}]}]}
在目标端增加指定列并赋值规则(AddColumn)示例: {"columns":[{"columnName":"my_add_column","columnValueType":"Constant","columnValue":"123"}]}
指定目标端表的主键列列名(DefinePrimaryKey)示例: {"columns":["ukcolumn1","ukcolumn2"]}
DML处理规则(HandleDml)示例: {"dmlPolicies":[{"dmlType":"Delete","dmlAction":"Filter","filterCondition":"id > 1"}]}
|
TableMappings | Array | 否 | 同步对象转换映射列表,列表中每个元素描述了一组源端同步对象选择规则列表和在该组同步对象上应用的同步对象转换规则列表。 |
|
SourceObjectSelectionRules | Array | 否 | 源端对象选择规则,支持多条。 |
|
ObjectType | String | 否 | Table | 对象类型,可选的枚举值:
|
Expression | String | 否 | mysql_table_1 | 表达式。 |
TransformationRules | Array | 否 | 源端对象上应用的转换规则列表。 |
|
RuleName | String | 否 | rename_rule_1 | 规则名称,在一种动作类型+动作作用的目标类型下规则名称唯一。 |
RuleActionType | String | 否 | Rename | 动作类型,可选的枚举值:
|
RuleTargetType | String | 否 | Table | 动作作用的目标类型,可选的枚举值:
|
JobSettings | Object | 否 | 同步任务维度的设置,含DDL处理策略、源端和目标端列数据类型映射策略、任务运行时参数等。 |
|
DdlHandlingSettings | Array | 否 | DDL处理设置。 |
|
Type | String | 否 | AddColumn | DDL类型,可选的枚举值:
|
Action | String | 否 | Critical | 处理动作,可选的枚举值:
|
ColumnDataTypeSettings | Array | 否 | 列类型映射,多值。 |
|
SourceDataType | String | 否 | bigint | 源端类型。 |
DestinationDataType | String | 否 | text | 目标端类型。 |
RuntimeSettings | Array | 否 | 运行时设置,多值。 |
|
Name | String | 否 | runtime.offline.concurrent | 设置名称,可选的枚举值:
|
Value | String | 否 | 1 | 设置取值。 |
CycleScheduleSettings | Object | 否 | 周期调度设置。 |
|
CycleMigrationType | String | 否 | Full | 需要周期调度的同步类型。取值范围:
|
ScheduleParameters | String | 否 | bizdate=$bizdate | 调度参数。 |
ChannelSettings | String | 否 | {"structInfo":"MANAGED","storageType":"TEXTFILE","writeMode":"APPEND","partitionColumns":[{"columnName":"pt","columnType":"STRING","comment":""}],"fieldDelimiter":""} | 通道相关任务设置,Json String形式。 |
ImportRuleSettings | Object | 否 | 同步任务导入设置。 |
|
Source | String | 否 | Datastudio | 任务配置导入来源。取值范围: Datastudio:数据开发中的同步任务 |
FileId | String | 否 | 10000 | 待导入任务ID。 |
SystemDebug | String | 否 | false | 系统调试使用,默认false。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
RequestId | String | 4F6AB6B3-41FB-5EBB-AFB2-0C98D49DA2BB | 请求的ID。用于定位日志,排查问题。 |
DIJobId | Long | 11792 | 数据集成任务ID。 |
示例
请求示例
http(s)://[Endpoint]/?Action=CreateDIJob
&ProjectId=10000
&JobName=mysql_to_holo_sync_8772
&Description=mysql同步到hologres
&MigrationType=FullAndRealtimeIncremental
&SourceDataSourceType=MySQL
&DestinationDataSourceType=Hologres
&SourceDataSourceSettings=[{"DataSourceName":"mysql_datasource_1","DataSourceProperties":{"key":"TimeZone"}}]
&DestinationDataSourceSettings=[{"DataSourceName":"holo_datasource_1","DataSourceProperties":{"key":"TimeZone"}}]
&ResourceSettings={"OfflineResourceSettings":{"ResourceGroupIdentifier":"S_res_group_111_222"},"RealtimeResourceSettings":{"ResourceGroupIdentifier":"S_res_group_111_222"}}
&TransformationRules=[{"RuleName":"rename_rule_1","RuleActionType":"Rename","RuleTargetType":"Table","RuleExpression":"{\"expression\":\"${srcDatasoureName}_${srcDatabaseName}\"}"}]
&TableMappings=[{"SourceObjectSelectionRules":[{"ObjectType":"Table","Expression":"mysql_table_1"}],"TransformationRules":[{"RuleName":"rename_rule_1","RuleActionType":"Rename","RuleTargetType":"Table"}]}]
&JobSettings={"DdlHandlingSettings":[{"Type":"AddColumn","Action":"Critical"}],"ColumnDataTypeSettings":[{"SourceDataType":"bigint","DestinationDataType":"text"}],"RuntimeSettings":[{"Name":"runtime.offline.concurrent","Value":"1"}]}
&SystemDebug=false
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateDIJobResponse>
<RequestId>4F6AB6B3-41FB-5EBB-AFB2-0C98D49DA2BB</RequestId>
<DIJobId>11792</DIJobId>
</CreateDIJobResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "4F6AB6B3-41FB-5EBB-AFB2-0C98D49DA2BB",
"DIJobId" : 11792
}
错误码
HttpCode |
错误码 |
错误信息 |
描述 |
429 | Throttling.Api | The request for this resource has exceeded your available limit. | 对该资源的请求已超过您的可用上限。 |
429 | Throttling.System | The DataWorks system is busy. Try again later. | DataWorks系统繁忙,请稍后再试。 |
429 | Throttling.User | Your request is too frequent. Try again later. | 您的请求过于频繁,请尝试放缓请求速度。 |
500 | InternalError.System | An internal system error occurred. Try again later. | 系统内部错误,请稍后再试。 |
500 | InternalError.UserId.Missing | An internal system error occurred. Try again later. | 系统内部错误,请稍后再试。 |
访问错误中心查看更多错误码。
- 本页导读 (1)