离线开发OpenAPI
此手册用于记录大数据开发与管理平台中,离线开发产品所有对外开放的OpenAPI,阅读此手册,你将了解离线开发产品开放的OpenAPI能力与调用方法。
一、离线开发公共参数
1.1 提示
1.1.1 任务
说明
任务是一个DAG图(有向无环图),其描述了作业中多个节点之间的逻辑(依赖关系)和规则(运行约束)。
标识
标识:由project标识和flow标识组成,唯一确定一个任务,不可变。
名称:标识为flowAliasName,代表任务名称,可变。
节点:通过上下游依赖关系组成任务DAG图。
标识:节点由job标识,唯一确定一个节点,不可变。
名称:标识为jobAliasName,代表节点名称,可变。
1.1.2 队列
说明
执行调度任务的yarn资源队列。
标识
队列展示名:yarnQueue
被调度系统最终引用的队列名:yarnFullQueue
队列类型:ntv,代表原生队列;sla,代表具有优先级功能的队列。
是否为高优先级:标识为highPriority,队列类型为sla时使用。highPriority=true,开启高优先级;highPriority=false,不开启高优先级。
分类
原生队列:主要指社区版原生队列,队列类型标识为ntv。yarnFullQueue直接传队列展示名yarnQueue。
优先级队列:网易自研队列,队列类型标识为sla,当开启高优先级功能,即highPriority为true,yarnFullQueue传 root.yarnQueue.sla;当不开启高优先级,即highPriority为false,yarnFullQueue传 root.yarnQueue.default。
1.2 响应格式
名称 | 类型 | 描述 |
---|---|---|
code | Number | 响应码 |
reqId | String | 请求ID |
cost | Number | 耗时,单位:ms |
msg | String | 响应消息 |
result | Object | 响应结果 |
1.3 响应码
1.3.1 系统正常码
响应码 | 说明 |
---|---|
0 | 服务器正确处理请求 |
1.3.2 系统异常码(小于0)
响应码 | 说明 |
---|---|
-1 | 服务器错误,空指针、数组越界等非业务代码抛出异常 |
-2 | 非法请求,参数异常、参数格式错误等接口的请求非法性抛出的通用错误 |
-3 | 用户不在当前项目 |
-4 | 用户未登录(或者会话无效),且该接口需要登录 |
-5 | 加锁失败 |
-6 | 签名无效 |
-7 | 无可用项目 |
1.3.3 业务公共异常码(1000 ~ 1999)
响应码 | 说明 |
---|---|
1001 | 公共异常 |
1002 | 操作异常 |
1003 | 客户端操作失败(SDK使用) |
1004 | 无权限 |
1005 | 资源不存在 |
1006 | 资源已存在 |
1.3.4 子产品操作异常码(2000 ~ 2999)
响应码 | 说明 |
---|---|
2000 | 控制台调用异常 |
1.3.5 文件夹异常码(3000 ~ 3199)
响应码 | 说明 |
---|---|
3000 | 文件夹公共异常 |
3001 | 文件夹查询异常 |
3002 | 文件夹创建异常 |
3003 | 文件夹删除异常 |
3004 | 文件夹更新异常 |
3005 | 文件夹移动异常 |
1.3.6 任务异常码(3200 ~ 3399)
响应码 | 说明 |
---|---|
3200 | 任务公共异常 |
3201 | 任务查询异常 |
3202 | 任务创建异常 |
3203 | 任务删除异常 |
3204 | 任务包上传异常 |
3205 | 任务提交上线异常 |
3206 | 任务立即运行异常 |
3207 | 获取任务立即运行状态异常 |
3208 | 取消任务立即运行异常 |
3209 | 文件夹下任务移动异常 |
3214 | 获取任务绑定issue工单变更信息失败 |
1.3.7 调度异常码(3400 ~ 3599)
响应码 | 说明 |
---|---|
3400 | 调度公共异常 |
3401 | 调度查询异常 |
3402 | 调度设置异常 |
3403 | 调度更新异常 |
3404 | 调度取消异常 |
1.4 枚举列表
1.4.1 文件夹
FolderTypeEnum
描述:文件夹类型
枚举值 | 类型 | 描述 |
---|---|---|
common | String | 用户创建文件夹 |
ai | String | AI文件夹 |
default | String | 默认文件夹 |
1.4.2 任务
JobTypeEnum
描述:节点类型
枚举值 | 类型 | 描述 |
---|---|---|
hive_jdbc_sql | String | SQL节点,执行引擎为Hive,运行方式为JDBC |
hive_client_sql | String | SQL节点,执行引擎为Hive,运行方式为Client |
spark_cluster_sql | String | SQL节点,执行引擎为Spark,运行方式为Cluster |
spark_client_sql | String | SQL节点,执行引擎为Spark,运行方式为Client |
ndi | String | 数据同步节点 |
spark | String | Spark节点 |
script | String | script节点或cube节点(cube节点本质上是script节点的特例) |
vertical_sql | String | verticalSQL节点 |
mysql | String | MySQL节点 |
oracle_sql | String | OracleSQL节点 |
gp_sql | String | GPSQL节点 |
ai_innerflow | String | AI2.0节点 |
innerflow | String | 嵌套流节点 |
noop | String | 虚拟节点 |
decision | String | 选择节点 |
mr | String | MR节点 |
FlowModeEnum
描述:任务模式
枚举值 | 类型 | 描述 |
---|---|---|
dev | String | 开发模式 |
online | String | 线上模式 |
ResourceGroupModeEnum
描述:资源组模式
枚举值 | 类型 | 描述 |
---|---|---|
dev | String | 开发模式 |
online | String | 线上模式 |
ExecNofityConditionEnum
描述:立即运行告警通知场景
枚举值 | 类型 | 描述 |
---|---|---|
succeed | String | 运行成功 |
failed | String | 运行失败 |
JobExecStatusEnum
描述:立即运行状态
枚举值 | 类型 | 描述 |
---|---|---|
READY | String | 就绪 |
PREPARING | String | 就绪中 |
QUEUED | String | 进入队列等待运行 |
RUNNING | String | 运行中 |
PAUSED | String | 暂停 |
SUCCEEDED | String | 成功 |
KILLING | String | 终止中 |
KILLED | String | 终止 |
FAILED | String | 失败 |
SKIPPED | String | 跳过,代表跳过该节点执行 |
DISABLED | String | 禁用,节点处于禁用状态 |
CANCELLED | String | 撤销 |
FlowExecStatusEnum
描述:立即运行状态
枚举值 | 类型 | 描述 |
---|---|---|
READY | String | 就绪 |
PREPARING | String | 就绪中 |
RUNNING | String | 运行中 |
SUCCEEDED | String | 成功 |
KILLING | String | 终止中 |
KILLED | String | 终止 |
FAILED | String | 失败 |
FAILED_RETRYING | String | 失败重试中,配置重试的任务失败重试会有该状态 |
FAILED_FINISHING |
String | 节点运行失败继续运行其他符合运行条件的节点,如果立即运行失败策略配置[FailureActionEnum]中的FINISH_CURRENTLY_RUNNING或FINISH_ALL_POSSIBLE,只要有节点失败就可能进入该状态,当可运行的节点运行结束时,将转化为FAILED状态 |
FAILED_SUCCEEDED | String | 失败,但强行置为成功 |
FilterTypeEnum(v6.6.3新增)
描述:任务过滤类型枚举。
枚举值 | 类型 | 描述 |
---|---|---|
RELEASE_PERMISSION | String | 保留用户有上线权限的任务 |
LockStatus(v6.6.3新增)
描述:锁状态
枚举值 | 类型 | 描述 |
---|---|---|
LOCKED | String | 锁定中 |
WITHDRAWED | String | 锁被撤销 |
RELEASED | String | 任务已发布 |
LockTypeEnum(v6.6.3新增)
描述:任务锁类型枚举
枚举值 | 类型 | 描述 |
---|---|---|
USER_LOCK | String | 个人锁 |
ORDER_LOCK | String | 数据开发平台工单锁 |
DATAOPS_LOCK | String | 外部DataOps锁 |
IssueUpdateResultEnum(v6.6.5.1新增)
描述:任务关联的工单变更结果
枚举值 | 类型 | 描述 |
---|---|---|
0 | Number | 任务提交成功且工单变更成功 |
1 | Number | 任务提交成功且工单变更成功但关联父工单变更失败 |
2 | Number | 任务提交失败 |
3 | Number | 任务提交成功但工单及关联父工单均变更失败 |
1.4.3 调度
FailureActionEnum
描述:运行失败策略
枚举值 | 类型 | 描述 |
---|---|---|
FINISH_CURRENTLY_RUNNING | String | 继续执行运行中 |
CANCEL_ALL | String | 停止 |
FINISH_ALL_POSSIBLE | String | 继续执行所有 |
ScheduleStatusEnum
描述:调度状态
枚举值 | 类型 | 描述 |
---|---|---|
READY | String | 准备 |
PAUSED | String | 暂停 |
EXPIRED | String | 过期 |
ConcurrentSettingEnum
描述:并行策略
枚举值 | 类型 | 描述 |
---|---|---|
CONCURRENT_OPTION_SKIP | String | 跳过,串行执行 |
CONCURRENT_OPTION_IGNORE | String | 忽略,并行执行 |
CalendarEffectModeEnum
描述:交易日日历调度生效方式
枚举值 | 类型 | 描述 |
---|---|---|
currentDay | String | 当日生效 |
nextDay | String | 次日生效 |
CalendarStatusEnum
描述:交易日日历状态
枚举值 | 类型 | 描述 |
---|---|---|
0 | Number | 关闭 |
1 | Number | 开启 |
SchedulePeriodEnum
描述:调度周期类型
枚举值 | 类型 | 描述 |
---|---|---|
MONTH | String | 月 |
WEEK | String | 星期 |
DAY | String | 天 |
HOUR | String | 小时 |
MINUTE | String | 分钟 |
ScheduleTypeEnum
描述:调度设置方式
枚举值 | 类型 | 描述 |
---|---|---|
PERIOD | String | 周期调度 |
CRON | String | crontab调度 |
1.5 响应实体列表
1.5.1 基础实体
Pagination
描述:分页查询结果
字段 | 类型 | 描述 |
---|---|---|
pageSize | Number | 每页显示条数 |
pageNum | Number | 页数 |
totalCount | Number | 总条数 |
totalPage | Number | 总页数 |
list | List<Object> | 当前页结果 |
UserBase
描述:用户基本信息
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
user | String | 邮箱 | 是 |
fullName | String | 全名 | 是 |
1.5.2 文件夹
FolderSimple
描述:文件夹信息
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
id | Number | 文件夹唯一标识 | 是 |
name | String | 文件夹名称 | 是 |
folderType | FolderTypeEnum[FolderTypeEnum] | 文件夹类型 | 是 |
parentId | Number | 父文件夹id | 是 |
1.5.3 任务
JobBase
描述:节点基本信息
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
job | String | 节点唯一标识 | 是 |
jobAliasName | String | 节点名称 | 是 |
JobSimple
描述:节点简要信息
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
job | String | 节点唯一标识 | 是 |
jobAliasName | String | 节点名称 | 是 |
type | JobTypeEnum | 节点类型 | 是 |
forbidden | Boolean | 是否禁用,true:禁用;false:不禁用 | 是 |
upstreamJobs | List<String> | 与本节点关联的上游节点 | 否 |
FlowBase(v6.6.5.1新增)
描述:任务基础信息
字段 | 类型 | 描述 | 必传 | 备注 |
---|---|---|---|---|
project | String | 任务project标识 | 是 | |
projectAliasName | String | 任务project名称 | 是 | |
flow | String | 任务flow标识 | 是 | |
flowAliasName | String | 任务名称 | 是 | 无 |
FlowSimple
描述:任务简要信息
字段 | 类型 | 描述 | 必传 | 备注 |
---|---|---|---|---|
folderId | Number | 所在文件夹id | 是 | |
folderName | String | 所在文件夹名称 | 是 | |
owner | UserBase | 任务负责人 | 是 | |
project | String | 任务project标识 | 是 | |
projectAliasName | String | 任务project名称 | ||
flow | String | 任务flow标识 | 是 | |
flowAliasName | String | 任务名称 | 是 | |
comment | String | 描述 | 否 | |
lockInfo | FlowLock | 任务锁信息,如果任务未被锁定时则为空 | 否 | v6.6.3新增 |
FlowDetail
描述:任务详情
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
folderId | Number | 所在文件夹id | 是 |
folderName | String | 所在文件夹名称 | 是 |
project | String | 任务project标识 | 是 |
flow | String | 任务flow标识 | 是 |
flowAliasName | String | 任务名称 | 是 |
owner | UserBase | 任务负责人 | 是 |
mode | FlowModeEnum | 任务模式 | 是 |
jobInfos | List<JobSimple> | 任务中包含的节点 | 是 |
comment | String | 描述 | 否 |
JobExecDetail
描述:节点运行详情
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
job | String | 节点标识 | 是 |
jobAliaisName | String | 节点名称 | 是 |
startTime | Number | 开始执行时间,毫秒。-1代表未开始运行 | 是 |
endTime | Number | 执行结束时间,毫秒。-1 代表未结束运行 | 是 |
execDuration | Number | 运行时长,毫秒,-1代表未开始运行 | 是 |
status | JobExecStatusEnum | 运行状态 | 是 |
FlowExecDetail
描述:任务运行详情
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
project | String | 任务project标识 | 是 |
projectAliasName | String | project名称 | 是 |
flow | String | 任务flow标识 | 是 |
flowAliasName | String | 任务名称 | 是 |
jobExecDetails | List<JobExecDetail> | 执行时长 | 是 |
startTime | Number | 执行开始时间,毫秒。-1代表未开始运行 | 是 |
endTime | Number | 执行结束时间,毫秒。-1代表未结束运行 | 是 |
execDuration | Number | 运行时长,毫秒。-1代表未开始运行 | 是 |
status | FlowExecStatusEnum | 运行状态 | 是 |
FLowLock(v6.6.3新增)
描述:任务锁
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
lockId | String | 锁唯一标识,只有外部DataOps锁才有唯一标识,其他锁唯一标识都为空 | 否 |
lockType | LockTypeEnum | 锁类型 | 是 |
lockTime | Number | 锁定时间(时间戳) | 否 |
lockUser | String | 锁定人(邮箱) | 否 |
lockStatus | LockStatus | 锁状态 | 否 |
lockDetail | String | 锁扩展信息 | 否 |
TaskIssueInfo(v6.6.5.1新增)
描述:任务提交上线绑定issue变更信息
枚举值 | 类型 | 描述 |
---|---|---|
product | String | 项目 |
clusterId | String | 集群 |
submitterEmail | String | 提交人邮箱 |
submitterName | String | 提交人名字 |
submitTime | Number | 提交时间 |
parentIssueId | Number | 关联父工单id,没有则为:"" |
issueId | String | 关联工单id |
updateResult | IssueUpdateResultEnum | 工单变更结果 |
startStatus | String | 工单最初状态 |
endStatus | String | 工单期望最终状态 |
taskInfo | FlowBase | 关联任务信息 |
1.5.4 调度
DependJobSimple
描述:某节点依赖其他节点的依赖信息
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
product | String | 产品账号 | 是 |
project | String | 任务project标识 | 是 |
flow | String | 任务flow标识 | 是 |
flowAliasName | String | 任务名称 | 是 |
dependentJobInfo | JobBase | 被依赖的节点 | 是 |
jobInfo | JobBase | 任务中需要设置依赖的节点,传:表示节点依赖;不传:表示任务依赖 | 否 |
offset | Number | 跨流依赖偏移量 | 是 |
ExecutionSetting
描述:执行参数
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
highPriority | Boolean | 是否高优先级队列,原生队列不返回 | 是 |
yarnId | String | Yarn id | 是 |
yarnQueue | String | 队列展示名,参考:[队列] | 是 |
retrySetting | RetrySetting | 自动重试设置 | 是 |
failureAction | FailureActionEnum | 失败策略 | 是 |
concurrentSetting | ConcurrentSettingEnum | 并发策略 | 是 |
parameters | Map<String, String> | 自定义参数 | 否 |
ScheduleCalendarSimple
描述:交易日日历信息
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
calendar | String | 交易日日历标识 | 是 |
calendarName | String | 交易日日历名称 | 是 |
status | CalendarStatusEnum | 交易日日历状态 | 是 |
effectMode | CalendarEffectModeEnum | 交易日日历调度生效模式 | 是 |
ScheduleTimeSetting
描述:调度信息中的时间信息
字段 | 类型 | 描述 | 必传 | 备注 |
---|---|---|---|---|
scheduleStartTime | Number | 调度开始时间,GMT毫秒。 | 是 | |
scheduleStartTimeString | String | 调度开始时间字符串yyyyMMdd格式 | 否 | 6.6.3多时区新增 |
nextExecTime | Number | 下次执行时间,GMT毫秒。 | 是 | |
scheduleExpireTime | Number | -1:永不失效;其他:失效时间,GMT毫秒。 | 是 | |
scheduleExpireTimeString | String | 失效时间字符串yyyyMMdd格式,“”永不失效 | 否 | 6.6.3多时区新增 |
SchedulePeriodSimple
描述:调度周期信息
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
type | ScheduleTypeEnum | 调度方式,PERIOD:周期调度 ;CRON:定时调度 | 是 |
periodValue | Number | 周期间隔。如果type=PERIOD有该值 | 否 |
periodUnit | SchedulePeriodEnum | 周期间隔单位。如果type=PERIOD有该值 | 否 |
cron | String | cron表达式,如果type=CRON有该值 | 否 |
RetrySetting
描述:重试设置
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
enable | Boolean | 是否自动重试 | 是 |
maxTimes | Number | 重试次数,如果开启自动重试有该值 | 否 |
interval | Number | 重试间隔,如果开启自动重试有该值 | 否 |
ScheduleDetail
描述:调度详情
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
scheduleId | Number | 调度id | 是 |
project | String | 任务project标识 | 是 |
flow | String | 任务flow标识 | 是 |
flowAliasName | String | 任务名称 | 是 |
periodInfo | SchedulePeriodSimple | 调度周期信息 | 是 |
timeSetting | ScheduleTimeSetting | 调度相关时间信息 | 是 |
status | ScheduleStatusEnum | 调度状态 | 是 |
calendarInfo | ScheduleCalendarSimple | 交易日日历信息 | 否 |
crossSelfDepend |
Boolean |
是否开启跨周期自依赖,true:开启;false:不开启。关闭表示跨流不依赖上一周期,即各周期相互独立;开启后当前任务执行必须依赖此任务的上一周期实例 | 是 |
dependSamePeriod |
Boolean | 是否开启同周期依赖,true:开启;false:不开启。当调度周期为1天且被依赖任务调度周期也为1一天时,该选项起作用。 | 否 |
scheduleDependencies | List<DependJobSimple> | 调度依赖节点 | 是 |
executionSetting | ExecutionSetting | 执行设置 | 是 |
disableJobInfos | List<JobBase> | 不设置调度的节点,没有则返回空列表 | 是 |
ExecDetail
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
project | String | 任务project标识 | 是 |
flow | String | 任务flow标识 | 是 |
msg | String | 运行信息 | 否 |
execId | Number | 实例id | 是 |
1.6 请求实体列表
基础实体
1.6.1 任务
1.6.2 调度
AlertSettingReq
描述:告警设置
字段 | 类型 | 描述 | 必填 |
---|---|---|---|
conditions | List<ExecNotifyConditionEnum> | 告警通知场景 | 是 |
channelIds | List<Number> | 告警通知通道 | 是 |
RetrySettingReq
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
enable | Boolean | 是否自动重试 | 是 |
maxTimes | Number | 最大重试次数,如果开启自动重试有该值 | 否 |
interval | Number | 重试间隔,如果开启自动重试有该值 | 否 |
ExecutionSettingReq
描述:执行参数
字段 | 类型 | 描述 | 必填 |
---|---|---|---|
yarnId | String | Yarn id | 是 |
yarnFullQueue | String | 调度使用队列名,参考:[队列] | 是 |
retrySetting | RetrySettingReq | 重试设置 | 是 |
failureAction | FailureActionEnum | 失败策略 | 是 |
concurrentSetting | ConcurrentSettingEnum | 并发策略 | 是 |
parameters | Map<String,String> | 自定义参数 | 否 |
ScheduleTimeSettingReq
描述:调度信息中的时间信息
字段 | 类型 | 描述 | 必填 | |
---|---|---|---|---|
scheduleStartTime | Number | 调度开始时间,GMT毫秒,不得早于当前时间 | 是 | |
scheduleExpireTime | Number | 调度截止时间,超出该时间任务将不再生成调度实例。 -1:永不失效;其他:失效时间,GMT毫秒。 |
是 | |
scheduleStartTimeString | String | 调度开始时间字符串yyyyMMdd格式 | 否 | 6.6.3多时区新增 |
scheduleExpireTimeString | String | 失效时间字符串yyyyMMdd格式,“”永不失效 | 否 | 6.6.3多时区新增 |
ScheduleCalendarSimpleReq
描述:交易日日历信息
字段 | 类型 | 描述 | 必填 |
---|---|---|---|
calendar | String | 交易日日历标识 | 是 |
effectMode | CalendarEffectModeEnum | 交易日日历调度生效模式 | 是 |
SchedulePeriodSimpleReq
描述:调度周期信息
字段 | 类型 | 描述 | 必填 |
---|---|---|---|
type | ScheduleTypeEnum | 调度方式,PERIOD:周期调度 ;CRON:定时调度 | 是 |
periodValue | Number | 周期间隔。如果type=PERIOD有该值 | 否 |
periodUnit | SchedulePeriodEnum | 周期间隔。如果type=PERIOD有该值 | 否 |
cron | String | cron表达式,如果type=CRON有该值 | 否 |
DependJobSimpleReq
描述:某节点依赖其他节点的依赖信息
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
product | String | 产品账号 | 是 |
project | String | 任务project标识 | 是 |
flow | String | 任务flow标识 | 是 |
dependentJob | String | 被依赖的节点标识 | 是 |
job | String | 任务中需要设置依赖的节点标识,传:表示节点依赖;不传:表示任务依赖 | 否 |
offset | Number | 跨流依赖偏移量 | 是 |
二、OpenAPI列表
2.1 OpenApi总览
2.2 文件夹
2.2.1 查询文件夹列表
GET /folder/v1/list
产品版本:
描述:查询文件夹列表
URL参数/请求体
名称 | 类型 | 描述 | 必填 | 默认值 |
---|---|---|---|---|
product | String | 项目 | 是 | |
user | String | 当前用户 | 是 | |
clusterId | String | 集群 | 是 | |
pageSize | Number | 每页条数 | 否 | 25 |
pageNum | Number | 第几页 | 否 | 1 |
keyword | String | 检索关键字,支持文件名folderName检索,默认按文件夹名称升序 | 否 | 无 |
请求示例(参数未编码,调用时请编码):
响应体
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | Pagination<FolderSimple> | 任务列表 | 是 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"pageNo": 25,
"pageNum": 25,
"pageSize": 1,
"total": 26,
"totalCount": 26,
"totalPage": 26,
"list": \[
{
"parentid": 4067,
"id": 4871,
"name": "test1dk",
"folderType": "common"
}
\]
},
"reqId": "618351931e7c423e9d1d1e95e0c59889",
"cost": 922
}
2.2.2 创建文件夹
POST /folder/v1/create
产品版本:
描述:创建文件夹
URL参数/请求体
名称 | 类型 | 描述 | 必填 | 默认值 |
---|---|---|---|---|
product | String | 项目 | 是 | |
user | String | 当前用户 | 是 | |
clusterId | String | 集群 | 是 | |
name | String | 文件夹名称 | 是 | |
folderType | FolderTypeEnum | 文件夹类型 | 否 | common |
parentId | Number | 父文件夹id,-1代表该文件夹为顶层文件夹 | 是 | 无 |
请求示例:
{
"product":"intern",
"clusterId":"dev4",
"user":"test1@corp.netease.com",
"parentId":4186,
"name":"test\_openapi\_folder\_name"
}
响应体
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗时间,GMT毫秒。 | 是 |
reqId | String | 请求ID | 是 |
result | Number | 若同名文件夹存在,返回文件夹id;不存在,返回新创建文件夹id | 否 |
响应示例:
{
"code": 0,
"msg": null,
"result": 4964,
"reqId": "16f077b0ec5740839ca585977a03b3db",
"cost": 894
}
2.2.3 删除文件夹
POST /folder/v1/delete
产品版本:
描述:删除文件夹
URL参数/请求体
名称 | 类型 | 描述 | 必填 | 默认值 |
---|---|---|---|---|
product | String | 项目 | 是 | |
user | String | 当前用户 | 是 | |
clusterId | String | 集群id | 是 | |
id | Number | 文件夹id | 是 | 无 |
请求示例:
{
"product":"intern",
"clusterId":"dev4",
"user":"test01@corp.netease.com",
"id":4964
}
响应体
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗时间,GMT毫秒。 | 是 |
reqId | String | 请求ID | 是 |
result | Object | 返回结果 | 否 |
响应示例:
{
"code": 0,
"msg": null,
"result": null,
"reqId": "81d1a212455640aca5fde309bee5b4ee",
"cost": 257
}
2.2.4 修改文件夹
POST /folder/v1/update
产品版本:
描述:修改文件夹
URL参数/请求体
名称 | 类型 | 描述 | 必填 | 默认值 |
---|---|---|---|---|
product | String | 项目 | 是 | |
user | String | 当前用户 | 是 | |
clusterId | String | 集群 | 是 | |
id | Number | 文件夹id | 是 | |
name | String | 修改后的文件夹名称 | 是 | 无 |
请求示例:
{
"product":"intern",
"clusterId":"dev4",
"user":"test01@corp.netease.com",
"id":4966,
"name":"test\_folder\_rename"
}
响应体
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗时间,GMT毫秒。 | 是 |
reqId | String | 请求ID | 是 |
result | Object | 返回结果 | 否 |
响应示例:
{
"code": 0,
"msg": null,
"result": null,
"reqId": "ce9fd3466f6242e6bf41b97389b7b0ad",
"cost": 936
}
2.2.5 移动文件夹
POST /folder/v1/move
产品版本:
描述:移动文件夹
URL参数/请求体
名称 | 类型 | 描述 | 必填 | 默认值 |
---|---|---|---|---|
product | String | 项目 | 是 | |
clusterId | String | 集群id | 是 | |
user | String | 当前用户 | 是 | |
id | Number | 需要移动文件夹id | 是 | |
targetParentId | Number | 目标位置的父文件夹id,-1表示移动到最外层 | 是 | 无 |
请求示例:
{
"product":"intern",
"user":"test01@corp.netease.com",
"clusterId":"dev4",
"id":4966,
"targetParentId":4186
}
响应体
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗时间,GMT毫秒。 | 是 |
reqId | String | 请求ID | 是 |
result | Object | 返回结果 | 否 |
响应示例:
{
"code": 0,
"msg": null,
"result": null,
"reqId": "8f2e169846e44cc6b753abd0bdb8475c",
"cost": 264
}
2.3 任务
2.3.1 查询任务列表
GET /task/v1/list
产品版本:
描述:查询任务列表,只返回开发模式任务
URL参数/请求体
名称 | 类型 | 描述 | 必填 | 默认值 | 备注 |
---|---|---|---|---|---|
product | String | 项目 | 是 | ||
user | String | 当前用户 | 是 | ||
clusterId | String | 集群id | 是 | ||
pageSize | Number | 每页条数 | 否 | 25 | |
pageNum | Number | 第几页 | 否 | 1 | |
keyword | String | 检索关键字,支持任务名称flowAliasName检索,默认按任务名称升序 | 否 | ||
filterType | FilterTypeEnum | 过滤类型枚举,为空时表示不过滤 | 否 | v6.6.3新增 |
请求示例(参数未编码,调用时请编码):
响应体
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | Pagination<FlowSimple> | 任务列表 | 是 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"pageNo": 1,
"pageNum": 1,
"pageSize": 1000,
"total": 4,
"totalCount": 4,
"totalPage": 1,
"list": \[
{
"folderId": 4580,
"folderName": "OFR",
"owner": {
"user": "test01@corp.netease.com",
"fullName": "孙xx"
},
"project": "ea5ef048e64143939e79d54005952570$$dev",
"projectAliasName": "B\_dianxin02",
"flow": "B\_dianxin02",
"flowAliasName": "B\_dianxin02",
"comment": "VTC:代理商领卡信息1",
"lockInfo": null
},
{
"folderId": 4580,
"folderName": "OFR",
"owner": {
"user": "test0201@corp.netease.com",
"fullName": "孙xx"
},
"project": "cad926ea77044e178c423239a874c91f$$dev",
"projectAliasName": "C\_dianxin02",
"flow": "C\_dianxin02",
"flowAliasName": "C\_dianxin02",
"comment": "VTC:代理商领卡信息1",
"lockInfo": null
}
\]
},
"reqId": "1cb0d8fbcf714c8d83151664a2e83d92",
"cost": 1545
}
2.3.2 查询任务详情
GET /task/v1/detail/get
产品版本:
描述:查询任务详情
URL参数/请求体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
product | String | 项目 | 是 |
user | String | 当前用户 | 是 |
clusterId | String | 集群id | 是 |
project | String | 任务project标识 | 是 |
flow | String | 任务flow标识 | 是 |
mode | FlowModeEnum | 任务模式 | 是 |
请求示例(参数未编码,调用时请编码):
响应体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | FlowDetail | 任务详情 | 是 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"jobInfos": \[
{
"job": "C\_dianxin02",
"jobAliasName": "C\_dianxin02",
"type": "noop",
"forbidden": false,
"upstreamJobs": \[
"trigger\_node"
\]
},
{
"job": "trigger\_node",
"jobAliasName": "trigger\_node",
"type": "mysql",
"forbidden": false,
"upstreamJobs": \[
"va\_ofr\_main\_asset\_hist\_a0501"
\]
},
{
"job": "va\_ofr\_main\_asset\_hist\_a0501",
"jobAliasName": "va\_ofr\_main\_asset\_hist\_a0501",
"type": "vertica\_sql",
"forbidden": false,
"upstreamJobs": \[\]
}
\],
"folderId": 4580,
"folderName": "OFR",
"owner": {
"user": "test01@corp.netease.com",
"fullName": "xxx"
},
"project": "cad926ea77044e178c423239a874c91f$$dev",
"projectAliasName": "C\_dianxin02$$dev",
"flow": "C\_dianxin02",
"flowAliasName": "C\_dianxin02",
"comment": null,
"lockInfo": null
},
"reqId": "2889f3ffd0374c5c95c77ad9accb0936",
"cost": 682
}
2.3.3 删除任务
POST /task/v1/delete
产品版本:
描述:删除任务,必须传开发模式任务标识,若有对应线上模式任务且未设置调度将一同删除
URL参数/请求体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
product | String | 项目 | 是 |
user | String | 当前用户 | 是 |
clusterId | String | 集群id | 是 |
project | String | 开发模式任务project标识 | 是 |
请求示例:
{
"product":"intern",
"user":"test01@corp.netease.com",
"clusterId":"dev4",
"project":"ea5ef048e64143939e79d54005952570$$dev"
}
响应体
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗时间,GMT毫秒。 | 是 |
reqId | String | 请求ID | 是 |
result | Object | 响应结果 | 否 |
响应示例:
{
"code": 0,
"msg": null,
"result": null,
"reqId": "f7450aedbc6e4718b6ab3ea0d12a0635",
"cost": 5166
}
2.3.4 发布任务
POST /task/v1/release
产品版本:
描述:发布任务,只允许发布开发模式任务
注意:
任务提交上线前会做一遍任务的卡点检测,如果未通过检测,则提交上线失败。
任务如果被DataOps锁锁定,在上线完成后会自动把数据研发平台记录的DataOps锁清理掉。调用方的DataOps锁需要调用方自己清理,不会有解锁的回调通知。
URL参数/请求体
名称 | 类型 | 描述 | 必填 | 备注 | |
---|---|---|---|---|---|
product | String | 项目 | 是 | ||
user | String | 当前用户(发布用户) | 是 | ||
clusterId | String | 集群id | 是 | ||
project | String | 任务project标识,只允许传开发模式任务 | 是 | ||
comment | String | 发布描述 | 是 | ||
flow | String | 任务flow标识 | 否 | v6.6.3新增 | |
lockId | String | 锁唯一标识 | 否 | v6.6.3新增 |
请求示例:
{
"product":"intern",
"user":"test01@corp.netease.com",
"clusterId":"dev4",
"project":"c531515684c243e89a0ffd90328f30d0$$dev",
"comment":"woshuohhei",
"flow":"C\_dianxin02",
"lockId":"one\_lock"
}
响应体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | Object | 响应结果 | 否 |
响应示例:
{
"code": 0,
"msg": null,
"result": null,
"reqId": "e33417fffb574e6d827114a04380f733",
"cost": 9375
}
2.3.5 开发模式立即运行
POST /task/v1/execute
产品版本:
描述:立即运行,只允许运行开发模式任务
URL参数/请求体
名称 | 类型 | 描述 | 必传 | 默认值 |
---|---|---|---|---|
product | String | 项目 | 是 | |
user | String | 当前用户 | 是 | |
clusterId | String | 集群id | 是 | |
project | String | 任务project标识 | 是 | |
flow | String | 任务flow标识 | 是 | |
scheduleTime | Number | 调度参考时间,毫秒 | 是 | |
scheduleTimeString | String | 调度参考时间,字符串yyyyMMdd | 否 | 6.6.3多时区新增 |
testModeEnable |
Boolean | 是否开启测试模式,有测试集群时生效,true:开启测试模式;false:关闭测试模式 | 否 | false |
alertSetting | AlertSettingReq | 告警配置 | 否 | |
resourceGroupMode | ResourceGroupModeEnum | 资源组模式 | 是 | |
enableJobs | List<String> | 需要运行的任务节点标识,不传标识全部节点 | 是 | |
execSetting | ExecutionSettingReq | 运行设置,其中队列要求:testModeEnable=true,必须传测试集群上的队列;testModeEnable=false,必须传默认集群上的队列。 | 是 | 无 |
请求示例:
{
"product":"intern",
"user":"test01@corp.netease.com",
"clusterId":"dev4",
"project":"045236c1c43f4dcca7c20de2594d0b97$$dev",
"flow":"F\_dianxin",
"scheduleTime":1680858311,
"testModeEnable":true,
"alertSetting":{
"conditions":\[
"succeed",
"failed"
\],
"channelIds":\[
1,
2,
3
\]
},
"resourceGroupMode":"online",
"disableJobs":\[
\],
"execSetting":{
"yarnId":"default",
"yarnFullQueue":"default.intern\_new.sla",
"retrySetting":{
"enable":true,
"maxTimes":3,
"interval":3000
},
"failureAction":"CANCEL\_ALL",
"concurrentSetting":"skip",
"parameters":{
}
}
}
响应体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | ExecDetail | 执行信息 | 是 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"project": "045236c1c43f4dcca7c20de2594d0b97$$dev",
"flow": "F\_dianxin",
"msg": null,
"execId": 15355132
},
"reqId": "6bd81fdb969c4e3e8b81c27b4ff5526f",
"cost": 1877
}
2.3.6 开发模式取消立即运行
POST /task/v1/execute/cancel
产品版本:
描述:取消立即运行
URL参数/请求体
名称 | 类型 | 描述 | 必传 | 默认值 |
---|---|---|---|---|
product | String | 项目 | 是 | |
user | String | 当前用户 | 是 | |
clusterId | String | 集群id | 是 | |
execId | Number | 执行id | 是 | 无 |
请求示例:
{
"product":"intern",
"user":"test01@corp.netease.com",
"clusterId":"dev4",
"project":"045236c1c43f4dcca7c20de2594d0b97$$dev",
"flow":"F\_dianxin",
"execId":15355161
}
响应体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | null | 是 |
响应示例:
{
"code": -2,
"msg": "OpenApi调用失败:取消任务立即运行失败:任务运行status=SUCCEEDED,任务运行实例已是终态",
"result": null,
"reqId": "6ffaa78c1c714332a935fa2905094314",
"cost": 968
}
2.3.7 开发模式查询立即运行状态
GET /task/v1/execute/status/get
产品版本:
描述:查询立即运行状态
URL参数/请求体
名称 | 类型 | 描述 | 必传 | 默认值 |
---|---|---|---|---|
product | String | 项目 | 是 | |
user | String | 当前用户 | 是 | |
clusterId | String | 集群id | 是 | |
execId | Number | 执行id | 是 | 无 |
请求示例:
响应体
名称 | 类型 | 描述 | 必填 | |
---|---|---|---|---|
code | Number | 状态码 | 是 | |
msg | String | 错误信息 | 是 | |
cost | Number | 接口消耗毫秒数 | 是 | |
reqId | String | 请求ID | 是 | |
result | FlowExecDetail | 立即运行实时状态,返回null时说明还没有开始执行 | 是 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"project": "045236c1c43f4dcca7c20de2594d0b97$$dev",
"projectAliasName": "F\_dianxin",
"flow": "F\_dianxin",
"flowAliasName": "F\_dianxin",
"startTime": 1680858597631,
"endTime": 1680858598213,
"status": "SUCCEEDED",
"execDuration": 582,
"jobExecDetails": \[
{
"job": "F\_dianxin",
"jobAliasName": "F\_dianxin",
"startTime": 1680858597648,
"endTime": 1680858597687,
"execDuration": 39,
"status": "SUCCEEDED"
}
\]
},
"reqId": "742387e443cf4c0a865b554c41bcb4a7",
"cost": 3304
}
2.3.8 创建任务
POST /task/v1/create
产品版本:
描述:创建任务,只支持多节点任务
URL参数/请求体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
product | String | 项目 | 是 |
clusterId | String | 集群 | 是 |
user | String | 当前用户(上传用户) | 是 |
folderId | Number | 任务所属文件夹id | 是 |
flowAliasName | String | 任务名称 | 是 |
comment | String | 描述 | 是 |
请求示例:
{
"product":"intern",
"clusterId":"dev4",
"user":"test01@corp.netease.com",
"folderId":4967,
"flowAliasName":"test\_create\_openapi\_task",
"comment":"这是一个测试任务包"
}
响应体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | Object | 响应结果 | 否 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"folderId": 4967,
"folderName": "test\_openapi\_folder\_name",
"owner": null,
"project": "18c8c519f0cc45e4aa9c3b0ce72206bd$$dev",
"projectAliasName": null,
"flow": "test\_create\_openapi\_task",
"flowAliasName": "test\_create\_openapi\_task",
"comment": "这是一个测试任务包",
"lockInfo": null
},
"reqId": "9daabe3628b54bb29d10e2977a3adcee",
"cost": 2145
}
2.3.9 上传任务包
POST /task/v1/upload
产品版本:
描述:上传任务包,只支持多节点任务
URL参数/请求体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
product | String | 项目 | 是 |
clusterId | String | 集群 | 是 |
user | String | 当前用户(上传用户) | 是 |
project | String | 任务peoject标识 | 是 |
flow | String | 任务flow标识 | 是 |
file | File | 任务包 | 是 |
请求示例:
curl -H
"Content-Type: multipart/form-data; boundary=----------0x15f0e7eb752"
--data "
------------0x15f0e7eb752
Content-Disposition: form-data; name=
"file"; filename="test_task.zip"
Content-Type: form-data
------------0x15f0e7eb752--"
响应体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | Object | 响应结果 | 否 |
响应示例:
{
"code": 0,
"msg": null,
"result": null,
"reqId": "febbc95cbfa744ff94dfd42fd3ff7571",
"cost": 321
}
2.3.10 移动文件夹下任务
POST /task/v1/move
产品版本:
描述:移动文件夹下任务
URL参数/请求体
名称 | 类型 | 描述 | 必填 | 默认值 |
---|---|---|---|---|
product | String | 项目 | 是 | |
user | String | 当前用户 | 是 | |
clusterId | String | 集群 | 是 | |
project | String | 任务project标识,只允许传开发模式project标识 | 是 | |
oldFolderId | String | 原文件夹id | 是 | |
newFolderId | String | 目标文件夹id | 是 | 无 |
请求示例:
{
"product":"intern",
"user":"sunweipeng01@corp.netease.com",
"clusterId":"dev4",
"project":"18c8c519f0cc45e4aa9c3b0ce72206bd$$dev",
"oldFolderId":4967,
"newFolderId":4871
}
响应体
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗时间,GMT毫秒。 | 是 |
reqId | String | 请求ID | 是 |
result | Object | 返回结果 | 否 |
响应示例:
{
"code": 0,
"msg": null,
"result": null,
"reqId": "500d2c04463441e2b00ba680eee10e95",
"cost": 1019
}
2.3.11 查询任务关联issue上线变更统计(v6.6.5.1新增)
GET /task/v1/issue-statistic/list
产品版本:
描述:查询任务关联issue上线变更统计
URL参数/请求体
名称 | 类型 | 描述 | 必填 | 默认值 | 备注 |
---|---|---|---|---|---|
product | String | 项目 | 是 | ||
user | String | 当前用户 | 是 | ||
clusterId | String | 集群id | 是 | ||
pageSize | Number | 每页条数 | 否 | 25 | |
pageNum | Number | 第几页 | 否 | 1 | |
startTime | String | 开始时间(天粒度,包括,格式:yyyy-MM-dd) | 是 | ||
endTime | String | 截止时间(天粒度,不包括,格式:yyyy-MM-dd),为空表示至今,必须晚于startTime | 否 | "" | |
submitterEmail | String | 提交人邮箱,为空表示所有提交人 | 否 | "" | 无 |
请求示例:
响应体
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | Pagination<TaskIssueInfo> | 任务列表 | 是 |
响应示例:
2.4 调度
2.4.1 查询调度详情
GET /schedule/v1/detail/get
产品版本:
描述:查询调度详情
URL参数/请求体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
product | String | 项目 | 是 |
user | String | 当前用户 | 是 |
clusterId | String | 集群id | 是 |
project | String | 任务project标识 | 是 |
flow | String | 任务flow标识 | 是 |
请求示例(参数未编码,调用时请编码):
响应体
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | ScheduleDetail | 调度详情 | 是 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"scheduleId": 13480,
"project": "cad926ea77044e178c423239a874c91f",
"flow": "C\_dianxin02",
"flowAliasName": "C\_dianxin02",
"crossSelfDepend": false,
"dependSamePeriod": true,
"periodInfo": {
"type": "PERIOD",
"periodValue": 1,
"periodUnit": "DAY",
"cron": null
},
"timeSetting": {
"scheduleStartTime": 1680859500000,
"scheduleStartTimeString": "2023-04-07 17:25:00",
"nextExecTime": 1680859500000,
"nextExecTimeString": "2023-04-07 17:25:00",
"scheduleExpireTime": null,
"scheduleExpireTimeString": ""
},
"status": "READY",
"calendarInfo": {
"calendar": "",
"calendarName": "",
"status": 0,
"effectMode": ""
},
"scheduleDependencies": \[
{
"product": "intern",
"project": "1e7ed3de841f4322aa2ae25064decd70",
"flow": "12324222222",
"flowAliasName": "12324222222",
"dependentJobInfo": {
"job": "12324222222",
"jobAliasName": "12324222222"
},
"jobInfo": null,
"offset": 0
},
{
"product": "intern",
"project": "a19780547dd548daa35434d050f24af8",
"flow": "1111111",
"flowAliasName": "1111111",
"dependentJobInfo": {
"job": "script",
"jobAliasName": "script"
},
"jobInfo": {
"job": "C\_dianxin02",
"jobAliasName": "C\_dianxin02"
},
"offset": 0
}
\],
"executionSetting": {
"highPriority": true,
"yarnId": "default",
"yarnQueue": "intern\_new",
"retrySetting": {
"enable": true,
"maxTimes": 2,
"interval": 30000
},
"failureAction": "FINISH\_CURRENTLY\_RUNNING",
"concurrentSetting": "CONCURRENT\_OPTION\_SKIP",
"parameters": {
"name": "test"
}
},
"disableJobInfos": \[\]
},
"reqId": "b7d141fb488b44ed8cf67ed1535ce20d",
"cost": 3106
}
2.4.2 设置调度
POST /schedule/v1/set
产品版本:
描述:设置调度
URL参数/请求体
字段 | 类型 | 描述 | 必传 |
---|---|---|---|
product | String | 项目 | 是 |
user | String | 当前用户(设置人) | 是 |
clusterId | String | 集群 | 是 |
project | String | 任务project标识 | 是 |
flow | String | 任务flow标识,只允许传线上模式任务 | 是 |
periodInfo | SchedulePeriodSimpleReq | 调度周期信息 | 是 |
timeSetting | scheduleTimeSettingReq | 调度信息中的时间信息 | 是 |
calendarInfo | scheduleCalendarSimpleReq | 交易日日历信息 | 否 |
crossSelfDepend | Boolean | 是否开启跨周期自依赖,true:开启;false:不开启。关闭表示跨流不依赖上一周期,即各周期相互独立;开启后当前任务执行必须依赖此任务的上一周期实例 | 是 |
dependSamePeriod | Boolean |
是否开启同周期依赖,true:开启;false:不开启。当调度周期为1天且被依赖任务调度周期也为1一天时,如果配置调度日历,且调度日历和调度日历生效模式必须相同。该选项起作用。 | 否 |
scheduleDependencies | List<DependJobSimpleReq> | 调度依赖节点;当依赖flow时,传flow的虚拟节点 | 否 |
execSetting | ExecutionSettingReq | 执行设置 | 是 |
disableJobs | List<String> | 不设置调度的节点标识 | 否 |
请求body
{
"project":"cad926ea77044e178c423239a874c91f$$dev",
"flow":"C\_dianxin02",
"crossSelfDepend":false,
"dependSamePeriod":true,
"periodInfo":{
"type":"PERIOD",
"periodValue":1,
"periodUnit":"DAY",
"cron":"34 22 \* \* \*"
},
"timeSetting":{
"scheduleStartTime":16560504000000,
"scheduleExpireTime":-1
},
"calendarInfo":{
"calendar":"sys\_sch\_hs",
"effectMode":"currentDay"
},
"scheduleDependencies":\[
{
"product":"intern",
"project":"af91385082ee46ddb3ae69cf8e64fc51$$dev",
"flow":"TestAuthInfo",
"dependentJob":"失败的",
"job":"trigger\_node",
"offset":0
}
\],
"execSetting":{
"yarnId":"default",
"yarnFullQueue":"default.intern\_new.sla",
"retrySetting":{
"enable":true,
"maxTimes":3,
"interval":3000
},
"failureAction":"FINISH\_ALL\_POSSIBLE",
"concurrentSetting":"CONCURRENT\_OPTION\_IGNORE",
"parameters":{
"name":"swp"
}
},
"disableJobs":\[
"C\_dianxin02"
\],
"product":"intern",
"user":"test01@corp.netease.com",
"clusterId":"dev4"
}
响应体
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | Number | 调度id | 是 |
响应示例:
{
"code": 0,
"msg": null,
"result": 13482,
"reqId": "ab125cf8f7764879a65922d68d5baa4b",
"cost": 2492
}
2.4.3 更新调度
POST /schedule/v1/update
产品版本:
描述:更新调度
URL参数/请求体
字段 | 类型 | 描述 | 必填 |
---|---|---|---|
scheduleId | Number | 调度id | 是 |
product | String | 项目 | 是 |
user | String | 当前用户(设置人) | 是 |
clusterId | String | 集群 | 是 |
project | String | 任务project标识 | 是 |
flow | String | 任务flow标识 | 是 |
periodInfo | SchedulePeriodSimpleReq | 调度周期信息 | 是 |
timeSetting | ScheduleTimeSettingReq | 调度信息中的时间信息 | 是 |
calendarInfo | ScheduleCalendarSimpleReq | 交易日日历信息 | 否 |
crossSelfDepend | Boolean |
是否开启跨周期自依赖,true:开启;false:不开启。 关闭表示跨流不依赖上一周期,即各周期相互独立;开启后当前任务执行必须依赖此任务的上一周期实例 |
是 |
dependSamePeriod | Boolean | 是否开启同周期依赖,true:开启;false:不开启。 当调度周期为1天且被依赖任务调度周期也为1一天时,如果配置调度日历,且调度日历和调度日历生效模式必须相同。该选项起作用。 |
否 |
scheduleDependencies | List<DependJobSimpleReq> | 调度依赖节点 | 是 |
execSetting | ExecutionSettingReq | 执行设置 | 是 |
disableJobs | List<String> | 不设置调度的节点标识 | 否 |
请求body
{
"scheduleId":13482,
"project":"cad926ea77044e178c423239a874c91f$$dev",
"flow":"C\_dianxin02",
"crossSelfDepend":false,
"dependSamePeriod":true,
"periodInfo":{
"type":"PERIOD",
"periodValue":1,
"periodUnit":"DAY",
"cron":"34 22 \* \* \*"
},
"timeSetting":{
"scheduleStartTime":16560504000000,
"scheduleExpireTime":-1
},
"calendarInfo":{
"calendar":"sys\_sch\_hs",
"effectMode":"currentDay"
},
"scheduleDependencies":\[
{
"product":"intern",
"project":"af91385082ee46ddb3ae69cf8e64fc51$$dev",
"flow":"TestAuthInfo",
"dependentJob":"失败的",
"job":"trigger\_node",
"offset":0
}
\],
"execSetting":{
"yarnId":"default",
"yarnFullQueue":"default.intern\_new.sla",
"retrySetting":{
"enable":true,
"maxTimes":3,
"interval":3000
},
"failureAction":"FINISH\_ALL\_POSSIBLE",
"concurrentSetting":"CONCURRENT\_OPTION\_IGNORE",
"parameters":{
"name":"swp"
}
},
"disableJobs":\[
"C\_dianxin02"
\],
"product":"intern",
"user":"sunweipeng01@corp.netease.com",
"clusterId":"dev4"
}
响应体
名称 | 类型 | 描述 | 必传 | 默认值 |
---|---|---|---|---|
code | Number | 状态码 | 是 | |
msg | String | 错误信息 | 是 | |
cost | Number | 接口消耗毫秒数 | 是 | |
reqId | String | 请求ID | 是 | |
result | Object | 响应结果 | 否 | 无 |
响应示例:
{
"code": 0,
"msg": null,
"result": 13482,
"reqId": "ab125cf8f7764879a65922d68d5baa4b",
"cost": 2492
}
2.4.4 取消调度
POST /schedule/v1/cancel
产品版本:
描述:取消调度
URL参数/请求体
字段 | 类型 | 描述 |
---|---|---|
user | String | 当前用户 |
product | String | 项目 |
clusterId | String | 集群 |
project | String | 任务project标识 |
flow | String | 任务flow标识 |
请求body
{
"product":"intern",
"user":"test01@corp.netease.com",
"clusterId":"dev4",
"project":"cad926ea77044e178c423239a874c91f$$dev",
"flow":"C\_dianxin02"
}
响应体
名称 | 类型 | 描述 | 必传 |
---|---|---|---|
code | Number | 状态码 | 是 |
msg | String | 错误信息 | 是 |
cost | Number | 接口消耗毫秒数 | 是 |
reqId | String | 请求ID | 是 |
result | Object | 响应结果 | 否 |