调用GenerateDISyncTaskConfigForUpdating接口,异步生成更新数据集成同步任务的异步线程ID。后续您需要通过该ID,调用QueryDISyncTaskConfigProcessResult接口获取异步生成更新数据集成同步任务需要的参数,通过该参数更新数据集成同步任务。

DataWorks目前仅支持直接使用UpdateDISyncTask接口更新数据集成离线同步任务,而数据集成实时同步任务和解决方案同步任务则需要先调用GenerateDISyncTaskConfigForUpdating和QueryDISyncTaskConfigProcessResult接口,异步生成更新数据集成同步任务需要的参数,再将该参数作为UpdateDISyncTask接口的入参,使用UpdateDISyncTask接口更新相应的实时同步任务和解决方案同步任务。 仅支持使用异步方式更新数据集成实时同步任务和解决方案同步任务。

调试

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

请求参数

名称 类型 是否必选 示例值 描述
Action String GenerateDISyncTaskConfigForUpdating

要执行的操作。

ProjectId Long 10000

DataWorks工作空间的ID。您可以登录DataWorks控制台,进入工作空间配置页面获取工作空间ID。

该参数用来确定本次API调用操作使用的DataWorks工作空间。

TaskType String DI_REALTIME

使用异步方式更新数据集成同步任务的任务类型。取值如下:

  • DI_REALTIME:表示实时同步任务。
  • DI_SOLUTION:表示解决方案同步任务。

    仅支持使用异步方式更新数据集成实时同步任务和解决方案同步任务。

RegionId String cn-zhangjiakou

地域信息,通常为服务所在的地域。例如,华东2(上海)为cn-shanghai,华北3(张家口)为cn-zhangjiakou。您无需填写RegionId,会根据调用的Endpoint自动解析。

TaskParam String {"steps":[{"parameter":{"connection":[{"table":["xyx"]}]},"name":"Reader","category":"reader"}]}

更新同步任务的脚本语句。

目前仅支持通过异步方式为数据集成同步任务新增表或者删除表,并且仅支持更新如下类型的同步任务:

  • 同步MySQL数据至MaxCompute。
  • 同步MySQL数据至Kafka。
  • 同步MySQL数据至Hologres。

同步任务中的SelectedTables用于多库模式选择同步表,Tables用于单库模式选择同步表。

  • 当脚本中包含SelectedTables语句时,系统会使用SelectedTables语句中的表信息进行同步。
  • 当脚本中包含Tables语句时,系统会使用Tables的字段信息进行同步。
ClientToken String ABFUOEUOTRTRJKE

幂等参数。用于避免多次调用导致操作重复。

TaskId Long 100

任务ID。

  • 当TaskType参数配置为实时同步任务(DI_REALTIME),则TaskId为实时同步任务的FileId。
  • 当TaskType参数配置为解决方案同步任务(DI_SOLUTION),则TaskId为解决方案同步任务的FileId。

返回数据

名称 类型 示例值 描述
Success Boolean true

请求是否成功。取值如下:

  • true:成功。
  • false:失败。
RequestId String 0bc1411515937635973****

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

Data Object

异步线程ID的生成结果。

Status String true

生成异步线程ID的结果状态。取值如下:

  • success:表示成功生成异步线程ID。
  • fail:表示异步线程ID生成失败。您可以查看失败原因,处理相关问题。
ProcessId Long 10

异步线程ID。您需要通过该ID,调用QueryDISyncTaskConfigProcessResult接口获取异步生成更新数据集成同步任务需要的参数,后续使用该参数更新数据集成同步任务。

Message String XXX is invalid.

异步线程ID生成失败的原因描述。 如果成功生成异步线程ID,则该参数的返回值为空。

示例

请求示例

http(s)://[Endpoint]/?Action=GenerateDISyncTaskConfigForUpdating
&ProjectId=10000
&TaskType=DI_REALTIME
&TaskParam={"steps":[{"parameter":{"connection":[{"table":["xyx"]}]},"name":"Reader","category":"reader"}]}
&ClientToken=ABFUOEUOTRTRJKE
&TaskId=100
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<GenerateDISyncTaskConfigForUpdatingResponse>
    <Success>true</Success>
    <RequestId>0bc1411515937635973****</RequestId>
    <Data>
        <Status>true</Status>
        <ProcessId>10</ProcessId>
        <Message>XXX is invalid.</Message>
    </Data>
</GenerateDISyncTaskConfigForUpdatingResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Success" : true,
  "RequestId" : "0bc1411515937635973****",
  "Data" : {
    "Status" : "true",
    "ProcessId" : 10,
    "Message" : "XXX is invalid."
  }
}

错误码

HttpCode 错误码 错误信息 描述
400 Invalid.DI.Parameter The parameter is invalid. 参数错误
400 Invalid.DI.Parameter.File.Existed The file name already exists. 参数不合法,文件名已存在
403 Forbidden.DI.NoPrivilege No access. 没有权限访问
500 InternalError.DI.Parameter A DI internal error occurred. 数据集成内部业务错误

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