调用CreateTask接口,创建任务流任务。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
| 名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | CreateTask |
系统规定参数。取值:CreateTask。 |
| Tid | Long | 否 | 3*** |
租户ID。 说明 取自系统右上角头像处悬停展示的租户ID信息,详情请参见查看租户信息。
|
| DagId | Long | 是 | 7*** |
任务流ID,可通过调用接口ListTaskFlow或ListLhTaskFlowAndScenario获取该参数的值。 |
| NodeName | String | 是 | zhttest |
任务节点名称。 |
| NodeType | String | 是 | 36 |
任务节点类型,取值请参见NodeType参数说明。 |
| NodeContent | String | 否 | test |
节点配置内容。 |
| TimeVariables | String | 否 | test |
节点变量(时间变量配置)。 |
| NodeOutput | String | 否 | test |
任务输出变量。 |
| GraphParam | String | 否 | test |
节点在图上的显示位置。 |
节点配置相关参数说明
根据节点类型的不同,节点的配置有所区别。此文档为任务流任务相关接口,如CreateTask、UpdateTaskOutput等接口的补充说明,其中NodeParam、NodeContent、GraphParam的配置具有通用性。
当前仅“单实例SQL赋值”、“脚本代码”、“Ecs远程命令”任务节点具有输出变量,配置方式有所区别,详情可参考UpdateTaskOutput接口文档说明。
SSH远程命令
- DagId
- NodeName
- NodeType: 45
- NodeParam: 节点时间变量,样例如下
Json { "variables":[ { "name":"var",// 变量命名 /* 变量格式 语法示例如示例值所示——在运行时日期的基础上,偏移“分”、“时”、“日”、“周”、“月”、“年”(可缺省,可不按照此顺序)。 */ "pattern":"yyyy-MM-dd|+0d" }, { "name":"test", "pattern":"yyyy-MM-dd|+0d" } ] } - GraphParam: 节点位置和布局,样例如下
Json { "x":136, // x坐标 "y":69, // y坐标 /* 布局方式: 1. Vertical:垂直布局 2. Horizontal 水平布局 */ "layoutType":"Horizontal" } - NodeOutput: 样例如下
Json { "outputs":[ { // 变量提取设置 "extractMethod":"json", // 固定为json "variableName":"var", // 变量名 "description":"demo desc" // 变量描述 } ] } - NodeContent: 样例如下
Json { "command":"sh /opt/hello.sh", // 主命令 "gourpId": 123 // 集群管理中的id }
单实例SQL
- DagId
- NodeName
- NodeType: 1
- NodeParam
- GraphParam
- NodeContent: 样例如下
Json { "dbId":123456, // 数据库Id "sql":"/* 请使用当前节点所选择的数据库语法编写SQL */", // sql语句 "dbType":"lindorm_sql" // 数据库类型 }
脚本代码
- DagId
- NodeName
- NodeType: 28
- NodeParam
- GraphParam
- NodeOutput
Json { "outputs":[ { "extractMethod":"json", // 固定为json "variableName":"var", // 变量名 "description":"demo desc" // 变量描述 } ] } - NodeContent:样例如下
json { "regionId":"cn-hangzhou", // 地域 "gatewayId":"dg-xxxxxxxxxxxxxx", // 网关ID "gatewayInstanceId":"dg-node-xxxxxxxxxxxxxx", // 网关实例ID "scriptFileName":"demo.sh", // 文件名 "args":[ // 运行参数 "-n value", "-n1 value1" ] }
无锁数据变更
- DagId
- NodeName
- NodeType: 24
- NodeParam
- GraphParam
- NodeContent: 样例如下
json { "dbId":123456, // 数据库Id "sql":"/* 请使用当前节点所选择的数据库语法编写SQL */", // sql语句 "dbType":"polardb" // 数据库类型 }
单实例SQL赋值
- DagId
- NodeName
- NodeType: 32
- NodeParam
- GraphParam
- NodeOutput: 样例如下
Json { "outputs":[ { /* // 变量提取设置 { "row":0, // 行,-1为所有行 "column":-1, // 列,-1为所有列 "combiner":"," // 分隔符,当选中所有行或所有列时,需要指定连接符。变量返回值为字符串 } */ "extractMethod":"{\"row\":0,\"column\":-1,\"combiner\":\",\"}", "variableName":"var", // 变量名 "description":"For demo" // 变量介绍 } ] } - NodeContent: 样例如下
json { "dbId":123456, // 数据库Id "sql":"/* 请使用当前节点所选择的数据库语法编写SQL,仅支持SELECT语句,且默认返回最大行数为30 *", // sql语句 "dbType":"lindorm_cql" // 数据库类型 }
依赖检查
- DagId
- NodeName
- NodeType: 2
- NodeParam
- GraphParam
- NodeContent: 样例如下
Json { "dependentDAGId":132, // 依赖项:任务流 "dependentNodeId":"", // 依赖项:单个节点,缺省时依赖项为指定的任务流 "dependentStartTimePattern":"yyyy-MM-dd HH:mm|-2d+0h+0m", // 开始时间偏移点 "dependentEndTimePattern":"yyyy-MM-dd HH:mm|+1d+0h+0m", // 结束时间偏移点 "multiSuccessStrategy":2, // 实例检查策略: 0.最后一次成功; 1.全部成功; 2.指定单次成功 "multiSuccessStrategyIndex":1 // 实例检查策略: 第 x+1 次 }
表时间列状态检查
- DagId
- NodeName
- NodeType: 2
- NodeParam
- GraphParam
- NodeContent: 样例如下
Json { "dependentDAGId":132, // 依赖项:任务流 "dependentNodeId":"", // 依赖项:单个节点,缺省时依赖项为指定的任务流 "dependentStartTimePattern":"yyyy-MM-dd HH:mm|-2d+0h+0m", // 开始时间偏移点 "dependentEndTimePattern":"yyyy-MM-dd HH:mm|+1d+0h+0m", // 结束时间偏移点 "multiSuccessStrategy":2, // 实例检查策略: 0.最后一次成功; 1.全部成功; 2.指定单次成功 "multiSuccessStrategyIndex":1 // 实例检查策略: 第 x+1 次 }
SQL状态检查
- DagId
- NodeName
- NodeType: 25
- NodeParam
- GraphParam
- NodeContent: 样例如下
Json { "dbId":123456, "sql":"/* 请使用当前节点所选择的数据库语法编写SQL */ \n\n select 1 from abc", "dbType":"lindorm_cql" }
Impala
- DagId
- NodeName
- NodeType: 46
- NodeParam
- GraphParam
- NodeContent: 样例如下
Json { // 实例Id "instanceId":"12345", // sql语句 "sql":"show tables;" }
CDP Hive/SparkSQL
返回数据
| 名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RequestId | String | CFD8FE00-36D9-4C1B-940D-65A7B73D9066 |
请求ID,用于定位日志,排查问题。 |
| ErrorCode | String | InvalidParameterValid |
错误码。 |
| ErrorMessage | String | InvalidParameterValid |
调用失败时,返回的错误信息。 |
| Success | Boolean | true |
请求是否成功,返回值如下:
|
| NodeId | Long | 3*** |
创建成功时,返回的任务节点ID。 |
示例
请求示例
http(s)://dms-enterprise.aliyuncs.com/?Action=CreateTask
&NodeName=zhttest
&NodeType=36
&NodeContent=test
&公共请求参数
正常返回示例
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateTaskResponse>
<RequestId>CFD8FE00-36D9-4C1B-940D-65A7B73D9066</RequestId>
<ErrorCode>InvalidParameterValid</ErrorCode>
<ErrorMessage>InvalidParameterValid</ErrorMessage>
<Success>true</Success>
</CreateTaskResponse>
JSON格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "CFD8FE00-36D9-4C1B-940D-65A7B73D9066",
"ErrorCode" : "InvalidParameterValid",
"ErrorMessage" : "InvalidParameterValid",
"Success" : true
}
错误码
访问错误中心查看更多错误码。