任务运维中心OpenAPI
- 一、公共参数
- 1.1 响应格式
- 1.2 异常响应码
- 1.3 枚举列表
- 1.3.1 ExecJobStatusEnum
- 1.3.2 ExecFlowStatusEnum
- 1.3.3 JobTypeEnum
- 1.3.4 ScheduleTypeEnum
- 1.3.5 SchedulePeriodEnum
- 1.3.6 ExecTypeEnum
- 1.3.7 AlertRuleTypeEnum
- 1.3.8 ExecConcurrentOptionEnum
- 1.3.9 ExecFailureActionEnum
- 1.3.10 RerunNofityConditionEnum
- 1.3.11 CalendarEffectModeEnum
- 1.3.12 CalendarStatusEnum
- 1.3.13 BackfillNofityConditionEnum
- 1.3.14 BackfillStatusEnum
- 1.3.15 YarnApplicationTypeEnum
- 1.3.16 ExecSourceEnum
- 1.4 响应实体列表
- 1.4.1 PageResult
- 1.4.2 ExecOverview
- 1.4.3 AlertRule
- 1.4.4 AlertRuleObject
- 1.4.5 UserInfo
- 1.4.6 ExecFlow
- 1.4.7 ExecFlowDetail
- 1.4.8 ExecFlowSetting
- 1.4.9 ExecFlowJob
- 1.4.10 ExecFlowJobLog
- 1.4.11 ExecFlowRerunResult
- 1.4.12 AlertChannelConf
- 1.4.13 ScheduleCalendar
- 1.4.14 SchedulePeriodInfo
- 1.4.15 RetrySetting
- 1.4.16 RecycleSetting
- 1.4.17 BackfillDetail
- 1.4.18 BackfillFlow
- 1.4.19 BackfillSetting
- 1.4.20 FlowExecHistory
- 1.4.21 Tag
- 1.4.22 TagValue
- 1.4.23 YarnExecJob
- 1.4.24 FinishHourlyTrend
- 1.5 请求实体列表
- 二、OpenAPI列表
此手册用于记录大数据开发与管理平台中,任务运维产品所有对外开放的OpenAPI,阅读此手册,你将了解任务运维产品开放的OpenAPI能力与调用方法。
一、公共参数
1.1 响应格式
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时,单位:ms |
| msg | String | 响应消息 |
| result | Object | 响应结果 |
1.2 异常响应码
1.2.1 公共响应码
| 响应码 | 说明 |
|---|---|
| 0 | 请求成功 |
| -1 | 服务器错误,空指针、数组越界等非业务逻辑抛出异常。 |
| -2 | 非法请求,参数异常、参数格式错误等接口的请求非法性抛出的通用错误 |
| -3 | 用户不在当前项目 |
1.2.2 业务响应码
| 响应码 | 说明 |
|---|---|
| 1001 | 任务flow不存在 |
| 1002 | 任务project不存在 |
| 1003 | 用户不存在 |
| 1004 | yarn队列不存在 |
| 1005 | 报警通道不存在 |
| 1006 | 报警组不存在 |
| 1007 | 监控任务不存在 |
| 1008 | flow实例不存在 |
| 1009 | 标签不存在 |
| 2001 | 实例当前状态不支持终止操作 |
| 2002 | 实例当前状态不支持重跑操作 |
| 2003 | 重跑冲突,实例已在重跑中 |
| 2100 | job实例日志不存在 |
| 2500 | 补数据任务不存在 |
| 2501 | 补数据名不能重复 |
| 2502 | 补数据不能同时创建调度类型任务和非调度类型任务 |
| 2503 | 补数据创建非调度任务需要设置周期值、yarn队列 |
| 2504 | 补数据任务不支持“终止”操作 |
| 3001 | 无报警规则修改权限 |
| 3002 | 无重跑权限 |
| 3003 | 无终止权限 |
| 3004 | 无补数据创建权限 |
| 3005 | 无补数据终止权限 |
1.3 枚举列表
1.3.1 ExecJobStatusEnum
| 枚举值 | 类型 | 描述 |
|---|---|---|
| SUCCEEDED | String | 成功 |
| FAILED | String | 失败 |
| RUNNING | String | 运行中 |
| READY | String | 就绪中 |
| CANCELLED | String | 撤销 |
| KILLED | String | 终止 |
| QUEUED | String | 队列等待 |
| UNSUBMIT | String | 未就绪 |
1.3.2 ExecFlowStatusEnum
| 枚举值 | 类型 | 描述 |
|---|---|---|
| SUCCEEDED | String | 成功 |
| FAILED | String | 失败 |
| RUNNING | String | 运行中 |
| PREPARING | String | 就绪中 |
| FAILED_FINISHING | String | 运行中异常 |
| KILLED | String | 终止 |
| KILLING | String | 终止中 |
| PAUSED | String | 暂停 |
| UNSUBMIT | String | 未就绪 |
1.3.3 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节点 |
| dqc | String | 数据质量任务 |
1.3.4 ScheduleTypeEnum
| 枚举值 | 类型 | 描述 |
|---|---|---|
| PERIOD | String | 周期调度 |
| CRON | String | crontab调度 |
1.3.5 SchedulePeriodEnum
| 枚举值 | 类型 | 描述 |
|---|---|---|
| MONTH | String | 月 |
| WEEK | String | 星期 |
| DAY | String | 天 |
| HOUR | String | 小时 |
| MINUTE | String | 分钟 |
1.3.6 ExecTypeEnum
| 枚举值 | 类型 | 描述 |
|---|---|---|
| SCHEDULE | String | 周期执行 |
| RERUN | String | 重跑 |
| LINKED_BACKFILL_EXECUTE | String | 补数据 |
| LINKED_BACKFILL_RERUN | String | 补数据重跑 |
| DEV_EXECUTE | String | 开发模式下立即运行 |
| EXECUTE | String | 线上模式下立即执行 |
1.3.7 AlertRuleTypeEnum
| 枚举值 | 类型 | 描述 |
|---|---|---|
| JOB_FAIL | String | 节点失败 |
| JOB_TIMEOUT | String | 节点超时 |
| FLOW_FAIL | String | 任务失败 |
| FLOW_TIMEOUT | String | 任务超时。任务从“就绪”开始计时,节点从“运行中”开始计时,多久之后还未运行结束; |
| DQC_FAIL | String | dqc检测失败 |
| DQC_ERROR | String | dqc异常 |
1.3.8 ExecConcurrentOptionEnum
| 枚举值 | 类型 | 描述 |
|---|---|---|
| CONCURRENT_OPTION_SKIP | String | 跳过 |
| CONCURRENT_OPTION_PIPELINE | String | 顺序执行 |
| CONCURRENT_OPTION_IGNORE | String | 忽略 |
1.3.9 ExecFailureActionEnum
| 枚举值 | 类型 | 描述 |
|---|---|---|
| FINISH_CURRENTLY_RUNNING | String | 继续执行运行中 |
| CANCEL_ALL | String | 停止 |
| FINISH_ALL_POSSIBLE | String | 继续执行所有 |
1.3.10 RerunNofityConditionEnum
| 枚举值 | 类型 | 描述 |
|---|---|---|
| SUCCEEDED | String | 运行成功 |
| FAILED | String | 运行失败 |
1.3.11 CalendarEffectModeEnum
描述:交易日日历生效方式
| 枚举值 | 类型 | 描述 |
|---|---|---|
| currentDay | String | 当日生效 |
| nextDay | String | 次日生效 |
1.3.12 CalendarStatusEnum
描述:交易日日历状态
| 枚举值 | 类型 | 描述 |
|---|---|---|
| 0 | Number | 关闭 |
| 1 | Number | 开启 |
1.3.13 BackfillNofityConditionEnum
| 枚举值 | 类型 | 描述 |
|---|---|---|
| SUCCEEDED | String | 补数据成功 |
| FAILED | String | 实例失败 |
| CANCELED | String | 补数据终止 |
1.3.14 BackfillStatusEnum
| 枚举值 | 类型 | 描述 |
|---|---|---|
| SUCCEEDED | String | 成功 |
| CANCELING | String | 终止中 |
| CANCELED | String | 终止 |
| PAUSING | String | 暂停中 |
| PAUSED | String | 暂停 |
| RUNNING_EXCEPTION | String | 运行中异常 |
| RUNNING | String | 运行中 |
| NOT_START | String | 未开始 |
1.3.15 YarnApplicationTypeEnum
描述:yarn任务类型,开发平台提交的yarn类型默认为以下3种:
| 枚举值 | 类型 | 描述 |
|---|---|---|
| FLINK | String | flink任务(暂不支持) |
| SPARK | String | spark任务 |
| MAPREDUCE | String | MR任务 |
1.3.16 ExecSourceEnum
描述:yarn任务来源
| 枚举值 | 类型 | 描述 |
|---|---|---|
| OFFLINE_SCHEDULE | String | 离线调度任务 |
| STREAM_SCHEDULE | String | 实时调度任务(暂不支持) |
| DQC | String | 数据质量任务 |
| MASK | String | 脱敏任务 |
| NDI | String | 数据传输任务 |
| DATA_COMPARE | String | 数据比对 |
1.4 响应实体列表
1.4.1 PageResult
分页查询结果
| 字段 | 类型 | 必选 | 描述 |
|---|---|---|---|
| pageSize | Number | 是 | 每页显示条数 |
| pageNum | Number | 是 | 页数 |
| totalCount | Number | 是 | 总条数 |
| list | Array<Object> | 是 | 当前页结果 |
1.4.2 ExecOverview
实例统计概览
| 字段 | 类型 | 必选 | 描述 |
|---|---|---|---|
| scheduleTaskNum | Number | 是 | 调度任务数,不包括未调度 |
| totalTaskNum | Number | 是 | 总任务数,包括未调度 |
| planExecTaskNum | Number | 是 | 计划任务执行数 |
| planExecInstanceNum | Number | 是 | 计划实例执行数(一个任务一天有多个实例) |
| execInstanceSuccessNum | Number | 是 | 实例执行成功数(包括失败实例重跑成功) |
| execInstanceFailNum | Number | 是 | 实例执行失败数(不算重跑实例) |
| execInstanceRerunSuccessNum | Number | 是 | 实例执行重跑成功数(一个实例重跑成功多次只算一个) |
| estimatedFinishTime | Number | 是 | 预计完成时间 |
1.4.3 AlertRule
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| id | Number | 是 | 规则主键 |
| ruleType | AlertRuleTypeEnum | 是 | 规则类型 |
| alertObject | AlertRuleObject | 是 | 报警对象 |
| channels | Array<AlertChannelConf> | 是 | 报警通道列表 |
| timeout | Number | 否 | 超时时间,毫秒。如果ruleType是超时类型,有该字段。 |
| recycleSetting | RecycleSetting | 否 | 是否循环报警 |
| customUserInfos | Array<UserInfo> | 否 |
自定义接收人列表 |
| flowOwner | Boolean | 是 | 是否发给任务负责人 |
| groupIds | Array<Number> | 否 | 告警组列表 |
1.4.4 AlertRuleObject
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| flowAliasName | String | 否 | 任务名称,任务类型规则会返回该值 |
| flow | String | 否 | 任务标识,任务类型规则会返回该值 |
| jobAliasName | String | 否 | 节点名称,节点、dqc类型规则会返回该值 |
| job | String | 否 | 节点标识,节点、dqc类型规则会返回该值 |
| taskId | Number | 否 | DQC任务id,dqc类型规则会返回该值 |
1.4.5 UserInfo
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| fullName | String | 是 | 姓名 |
| user | String | 是 | 邮箱 |
1.4.6 ExecFlow
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| execId | Number | 否 | 实例id(未就绪无该字段) |
| execStatus | ExecFlowStatusEnum | 是 | 实例状态 |
| scheduleTime | Number | 是 | 调度时间 |
| submitTime | Number | 否 | 就绪时间(如果已经就绪) |
| startTime | Number | 否 | 开始执行时间(如果已经执行) |
| endTime | Number | 否 | 执行结束时间(如果已经执行) |
| owner | UserInfo | 是 | 任务负责人 |
| flow | String | 是 | 任务flow标识 |
| project | String | 是 | 任务project标识 |
| flowAliasName | String | 是 | 任务名 |
| yarnQueue | String | 是 | yarn队列 |
| yarnId | String | 是 | yarn集群id |
| highPriority | Boolean | 是 | 是否高优先级队列,非网易自研队列默认false |
| execType | ExecTypeEnum | 是 | 执行类型 |
| periodInfo | SchedulePeriodInfo | 是 | 调度周期信息 |
| calendarInfo | ScheduleCalendar | 否 | 交易日日历 |
1.4.7 ExecFlowDetail
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| executionSetting | ExecFlowSetting | 是 | 运行设置 |
| execJobs | Array<ExecFlowJob> | 是 | 执行节点列表 |
| execId | Number | 否 | 实例id(未就绪无该字段) |
| execStatus | ExecFlowStatusEnum | 是 | 实例状态 |
| scheduleTime | Number | 是 | 调度时间 |
| submitTime | Number | 否 | 就绪时间(如果已经就绪) |
| startTime | Number | 否 | 开始执行时间(如果已经执行) |
| endTime | Number | 否 | 执行结束时间(如果已经执行) |
| owner | UserInfo | 是 | 任务负责人 |
| flow | String | 是 | 任务flow标识 |
| project | String | 是 | 任务project标识 |
| flowAliasName | String | 是 | 任务名 |
| execType | ExecTypeEnum | 是 | 执行类型 |
| periodInfo | SchedulePeriodInfo | 是 | 调度周期信息 |
| calendarInfo | ScheduleCalendar | 否 | 交易日日历 |
1.4.8 ExecFlowSetting
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| failureAction | ExecFailureActionEnum | 是 | 失败策略 |
| retrySetting | RetrySetting | 否 | 是否自动重试 |
| parameters | Map<String,String> | 否 | 任务自定义参数 |
| yarnQueue | String | 是 | yarn队列 |
| yarnId | String | 是 | yarn集群id |
| highPriority | Boolean | 是 | 是否高优先级队列,非网易自研队列默认false |
1.4.9 ExecFlowJob
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| job | String | 是 | 节点唯一标识 |
| jobAliasName | String | 是 | 节点名称 |
| type | JobTypeEnum | 是 | 节点类型 |
| attempt | Number | 否 | 当前重试次数。未就绪状态无该值 |
| startTime | Number | 否 | 开始时间,毫秒。未就绪状态无该值 |
| endTime | Number | 否 | 结束时间,毫秒。未就绪状态无该值 |
| status | ExecJobStatusEnum | 是 | 节点执行状态。 |
1.4.10 ExecFlowJobLog
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| offset | Number | 是 | 当前内容起始offset |
| data | String | 是 | 日志内容 |
| length | Number | 是 | 日志实际长度。下次请求的offset=offset+length |
1.4.11 ExecFlowRerunResult
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| execId | Number | 是 | 重跑实例id |
1.4.12 AlertChannelConf
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| id | Number | 是 | 通道id |
| name | String | 是 | 通道展示名 |
1.4.13 ScheduleCalendar
描述:交易日日历信息
| 字段 | 类型 | 必选 | 描述 |
|---|---|---|---|
| calendar | String | 是 | 交易日日历标识 |
| calendarName | String | 是 | 交易日日历名称 |
| status | CalendarStatusEnum | 是 | 交易日日历状态 |
| effectMode | CalendarEffectMode | 是 | 交易日日历生效模式 |
1.4.14 SchedulePeriodInfo
描述:调度周期信息
| 字段 | 类型 | 必选 | 描述 |
|---|---|---|---|
| type | ScheduleTypeEnum | 是 | 调度类型,PERIOD:周期调度 ;CRON:定时调度 |
| periodValue | Number | 否 | 周期间隔。如果type=PERIOD有该值 |
| periodUnit | SchedulePeriodEnum | 否 | 周期间隔。如果type=PERIOD有该值 |
| cron | String | 否 | cron表达式,如果type=CRON有该值 |
1.4.15 RetrySetting
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| maxTimes | Number | 是 | 最大重试次数 |
| interval | Number | 是 | 重试间隔 |
1.4.16 RecycleSetting
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| maxTimes | Number | 是 | 循环最大次数 |
| interval | Number | 是 | 循环间隔 |
| reportEnable |
Boolean | 是 | 是否上报(必须先开启循环)。循环结束没有处理,会上报给指定人。 |
1.4.17 BackfillDetail
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| id | Boolean | 是 | 补数据id |
| name | Number | 是 | 补数据名 |
| flows | Array<BackfillFlow> | 是 | 任务列表 |
| status | BackfillStatusEnum | 是 | 补数据状态 |
| creator | UserInfo | 是 | 创建人 |
| leftTime | Number | 是 | 实例开始时间 |
| rightTime | Number | 是 | 实例结束时间 |
| startTime | Number | 是 | 补数据开始时间 |
| endTime | Number | 否 | 补数据结束时间 |
| concurrentSize | Number | 是 | 并发度 |
| timeReverse | Boolean | 是 | 是否倒序执行 |
| crossSelfDepend | Boolean | 是 | 是否自依赖 |
| executionSetting | BackfillSetting | 是 | 执行设置 |
1.4.18 BackfillFlow
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| project | String | 是 | 任务project标识 |
| flow | String | 是 | 任务flow标识 |
| jobIds | Array<String> | 否 | 指定节点,不指定则当做全部 |
| periodInfo | SchedulePeriodInfo | 是 | 调度周期信息 |
1.4.19 BackfillSetting
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| failureAction | ExecFailureActionEnum | 是 | 失败策略,默认FINISH_CURRENTLY_RUNNING |
| retrySetting | RetrySetting | 否 | 重试配置 |
| parameters | Map<String,String> | 否 | 任务自定义参数 |
| yarnQueue | String | 是 | yarn队列,如果是非调度任务则必须有 |
| yarnId | String | 是 | yarn集群id,如果是非调度任务则必须有 |
| highPriority | Boolean | 是 | 是否高优先级队列,非网易自研队列默认false |
1.4.20 FlowExecHistory
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| execId | Number | 否 | 实例id |
| execStatus | ExecFlowStatusEnum | 是 | 实例状态 |
| scheduleTime | Number | 是 | 调度时间 |
| submitTime | Number | 否 | 就绪时间(如果已经就绪) |
| startTime | Number | 否 | 开始执行时间(如果已经执行) |
| endTime | Number | 否 | 执行结束时间(如果已经执行) |
| execType | ExecTypeEnum | 是 | 执行类型 |
| backfillId | Number | 否 | 补数据id。如果是执行类型是补数据会有该值 |
1.4.21 Tag
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| id | Number | 是 | 标签主键 |
| name | ExecFlowStatusEnum | 是 | 标签名 |
| description | Number | 是 | 描述 |
| values | Array<TagValue> | 是 | 标签值列表 |
1.4.22 TagValue
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| id | Number | 是 | 标签值主键 |
| value | String | 是 | 标签值名 |
1.4.23 YarnExecJob
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| applicationId | String | 是 | yarn applicationId |
| applicationType | YarnApplicationTypeEnum | 是 | yarn任务类型 |
| product | String | 是 | 项目 |
| yarnFullQueue | String | 是 | yarn队列 |
| execType | ExecTypeEnum | 是 | 执行类型 |
| execSource | ExecSourceEnum | 是 | 执行来源 |
| startTime | Long | 是 | 开始时间 |
| submitter | UserInfo | 否 | 任务提交人 |
| execId | Number | 否 | 实例id(只有azkaban提交的有该值) |
| jobId | String | 否 | 节点id(只有azkaban提交的有该值) |
| jobAliasName | String | 否 | 节点名(只有azkaban提交的有该值) |
| execStatus | ExecFlowStatusEnum | 否 | 实例状态(只有azkaban提交的有该值) |
| flow | String | 否 | 任务flow标识(只有azkaban提交的有该值) |
| project | String | 否 | 任务project标识(只有azkaban提交的有该值) |
| flowAliasName | String | 否 | 任务名(只有azkaban提交的有该值) |
1.4.24 FinishHourlyTrend
实例统计概览
| 字段 | 类型 | 必选 | 描述 |
|---|---|---|---|
| time | Number | 是 | 调度任务数,不包括未调度 |
| totalNum | Number | 是 | 计划任务执行数 |
| finishNum | Number | 是 | 计划任务执行完成数 |
1.5 请求实体列表
1.5.1 AlertRuleCreateReq
| 名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
| alertObject | AlertRuleObjectReq | 是 | 告警对象 | |
| ruleType | AlertRuleTypeEnum | 是 | 规则类型 | |
| timeout |
Number |
否 | 0 | 超时时间,毫秒。如果是超时类型,必须传该字段。 |
| channelIds | Array<Number> | 是 | 告警通道列表 | |
| recycleSetting | RecycleSettingReq | 否 | 循环配置,默认不循环报警 | |
| flowOwner | Boolean | 否 | false | 是否发给负责人 |
| customUsers | Array<String> | 否 | 指定邮箱列表 | |
| groupIds |
Array<Number> | 否 | 告警组id列表。flowOwner、 customUsers、groupIds必须有一个。 |
1.5.2 AlertRuleObjectReq
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| flow | String | 否 | 任务标识 |
| job | String | 否 | 节点标识。flow、job必须传一个。 |
| taskId | Number | 否 | 监控任务ID。DQC类型需要传该值 |
1.5.3 RerunSettingReq
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| failureAction | ExecFailureActionEnum | 否 | 失败策略,默认FINISH_CURRENTLY_RUNNING |
| retrySetting | RetrySettingReq | 否 | 重试配置 |
| parameters | Map<String,String> | 否 | 任务自定义参数 |
| concurrentSetting | ExecConcurrentOptionEnum | 否 | 并发策略,默认CONCURRENT_OPTION_IGNORE |
| yarnId | String | 是 | yarn集群id。 |
| yarnFullQueue | String | 是 | 队列全名。yarnFullQueue、yarnQueue选一个必填。 |
| yarnQueue | String | 是 | 队列展示名,参考:[队列]。yarnFullQueue、yarnQueue选一个必填。 |
| jobIds | Array<String> | 否 | 需要重跑的job列表 |
1.5.4 RerunNotifyReq
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| conditions |
Array<RerunNofityConditionEnum> | 是 | 通知条件(或关系) |
| channelIds | Array<Number> | 是 | 告警通道 |
| customUsers | Array<String> | 否 | 自定义邮箱。customUsers、flowOwner、currentUser三选一。 |
| flowOwner | Boolean |
否 | 任务负责人,只有conditions中有FAILED才发送。customUsers、flowOwner、currentUser三选一。 |
| currentUser | Boolean | 否 | 当前用户。customUsers、flowOwner、currentUser三选一。 |
1.5.5 BackFillNotifyReq
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| conditions |
Array<BackfillNofityConditionEnum> | 是 | 通知条件(或关系) |
| channelIds | Array<Number> | 是 | 告警通道 |
| customUsers | Array<String> | 否 | 自定义邮箱。customUsers、flowOwner、currentUser三选一。 |
| flowOwner | Boolean |
否 | 任务负责人,只有conditions中有FAILED才发送。customUsers、flowOwner、currentUser三选一。 |
| currentUser | Boolean | 否 | 当前用户。customUsers、flowOwner、currentUser三选一。 |
1.5.6 BackfillSettingReq
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| failureAction | ExecFailureActionEnum | 否 | 失败策略,默认FINISH_CURRENTLY_RUNNING |
| retrySetting | RetrySetting | 否 | 重试配置 |
| parameters | Map<String,String> | 否 | 任务自定义参数 |
| yarnFullQueue | String | 否 | yarn队列。已调度任务默认使用调度配置的队列;非调度任务默认使用项目中资源最大的队列。 |
| yarnId | String | 否 | yarn集群id,已调度任务默认使用调度配置的队列;非调度任务默认使用项目中资源最大的队列。 |
1.5.7 BackfillFlowReq
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| project | String | 是 | 任务project标识 |
| flow | String | 是 | 任务flow标识 |
| jobIds | Array<String> | 否 | 指定节点,不指定则当做全部 |
1.5.8 RecycleSettingReq
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| maxTimes | Number | 是 | 循环最大次数 |
| interval | Number | 是 | 循环间隔 |
| reportEnable |
Boolean | 否 | 是否上报。循环结束没有处理,会上报给指定人。 |
1.5.9 RetrySettingReq
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| maxTimes | Number | 是 | 最大重试次数。大于等于1 |
| interval | Number | 是 | 重试间隔(毫秒)。大于1分钟 |
1.5.10 FlowIdReq
| 名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| flow | String | 是 | 任务flow标识 |
| project | String | 是 | 任务project标识 |
二、OpenAPI列表
2.1 OpenAPI总览
2.2 大盘统计
2.2.1 实例大盘统计
GET /dashboard/v1/flow/execOverview/get
产品版本:v1.3.0
描述:按项目、时间范围统计调度实例状态
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| tagId | Number | 任务标签id | 否 | |
| baselineId | Number | 基线id | 否 | |
| priority | Number | 任务优先级 | 否 | |
| date | Number | 指定天,毫秒 | 是 | 无 |
请求示例:
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | ExecOverview | 实例统计 |
响应示例:
{
"code":0,
"msg":null,
"result":{
"scheduleTaskNum":287,
"totalTaskNum":287,
"planExecTaskNum":226,
"planExecInstanceNum":3656
},
"reqId":"20968bf538ba4454a5c71c49bed56563",
"cost":518
}
2.2.2 任务完成统计接口
GET /dashboard/v1/flow/finishTrend/get
产品版本:v1.9.2
描述:按项目、时间范围统计调度实例完成率(每30分钟,最多返回2天)
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| date | Number | 指定天,毫秒 | 是 | |
| tagId | Number | 任务标签id | 否 | |
| baselineId | Number | 基线id | 否 | |
| priority | Number | 任务优先级 | 否 | 无 |
请求示例:
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | Array<FinishHourlyTrend> | 小时统计列表 |
响应示例:
{
"code":0,
"msg":null,
"result":\[{
"time":1694881800000
"totalNum":97
"finishNum":3
},{
"time":1694883600000
"totalNum":97
"finishNum":9
}\]
"reqId":"20968bf538ba4454a5c71c49bed56563",
"cost":518
}
2.3 任务
2.3.1 任务告警规则列表
GET /flow/v1/alert/list
产品版本:v1.4.1
描述:获取任务下所有告警规则
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| flow | String | 任务flow标识 | 是 | |
| project | String | 任务project标识 | 是 | |
| user | String | 当前操作人邮箱 | 是 | 无 |
请求示例:
curl -i -X GET \
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | Array<AlertRule> | 告警规则列表 |
响应示例:
{
"code": 0,
"result": \[
{
"id": 1333,
"ruleType": "FLOW\_FAIL",
"ruleObject": {
"flowAliasName": "tttt\_copy1",
"flow": "tttt\_copy1"
},
"channelIds": \[
1
\],
"flowOwner": true,
"recycleSetting": {
"maxTimes": 2,
"interval": 60000,
"reportEnable": false
}
}
\],
"reqId": "59fec9e1fad744849723389a4d62bad2",
"cost": 73
}
2.3.2 保存任务告警规则
POST /flow/v1/alert/upsert
产品版本:v1.4.1
描述:创建、覆盖任务告警规则。如果不存在则新增,存在则覆盖
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| flow | String | 任务flow标识 | 是 | |
| project | String | 任务project标识 | 是 | |
| rules | Array<AlertRuleCreateReq> | 规则列表 | 是 | |
| user | String | 当前操作人邮箱 | 是 | 无 |
请求示例:
curl -i -X POST \\
-H "Content-Type:application/json" \\
-d \\
'{
"clusterId":"dev4",
"flow":"tttt\_copy1\_1",
"product":"intern",
"project":"f554c4c1973d40a5bf53d22ed557babd",
"rules":\[
{
"alertObject":{
"flow":"tttt\_copy1",
"type":"FLOW"
},
"channelIds":\[
1\],
"flowOwner":true,
"recycleSetting":{
"interval":60000,
"maxTimes":2
},
"ruleType":"FLOW\_FAIL"
}\],
"user":"wei.chen@corp.netease.com"
}
' \\
'http://easy-openapi.bdms.service.163.org/openapi/easytaskops/flow/v1/alert/upsert'
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | Object | 空 |
响应示例:
{
"code":0,
"result":true,
"reqId":"2c57154fb4484f84a1b067e30e60dc26",
"cost":453
}
2.3.3 删除任务下告警规则
POST /flow/v1/alert/delete
产品版本:v1.4.1
描述:删除任务下所有告警规则
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| flow | String | 任务flow标识 | 是 | |
| project | String | 任务project标识 | 是 | |
| user | String | 当前操作人邮箱 | 是 | 无 |
请求示例:
curl -i -X POST \\
-H "Content-Type:application/json" \\
-d \\
'{
"clusterId":"dev4",
"flow":"tttt\_copy1",
"product":"intern",
"project":"e57d9d08843843289f262501d149d15e",
"user":"wei.chen@corp.netease.com"
}
' \\
'http://easy-openapi.bdms.service.163.org/openapi/easytaskops/flow/v1/alert/delete'
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
响应示例:
{
"code":0,
"result":true,
"reqId":"2c57154fb4484f84a1b067e30e60dc26",
"cost":453
}
2.3.4 批量设置标签
GET /flow/v1/tag/batch-set
产品版本:v1.8.6
描述:批量设置标签
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| flows | Array<FlowIdReq> | 任务列表 | 是 | |
| tagValueId | Number | 标签值id。如果为空则表示清空标签 | 否 | |
| user | String | 当前操作人邮箱 | 是 | 无 |
请求示例:
curl -i -X POST \\
-H "Content-Type:application/json" \\
-d \\
'{
"clusterId":"dev4",
"product":"intern",
"tagValueId":1,
"flows":\[{"flow":"ai3-test","project":"c7c377776af8467ca79a36d1dcafbcf8"}\],
"user":"wei.chen@corp.netease.com"
}
' \\
'http://easy-openapi.bdms.service.163.org/openapi/easytaskops/flow/v1/tag/batch-set'
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | Boolean | 处理结果 |
响应示例:
{
"code": 0,
"result": true,
"reqId": "fd02022b17114a2f8c9ef1ee774c01e4",
"cost": 513
}
2.4 实例
2.4.1 实例列表
POST /sched/v1/exec/list
产品版本:v1.4.1
描述:搜索实例列表
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| flowAliasName | String | 任务名称 | 否 | |
| execStatuses | Array<ExecFlowStatusEnum> | 运行状态 | 否 | |
| scheduleStartTime | Number | 计划执行时间(包含),毫秒。返回运行的实例+未生成的实例。scheduleStartTime、submitStartTime至少选一个,取并集 | 否 | |
| scheduleEndTime | Number | 计划执行时间(不包含),毫秒。返回运行的实例+未生成的实例 | 否 | 明天0点 |
| submitStartTime |
Number |
实例就绪时间(包含),毫秒。只返回运行的实例。scheduleStartTime、submitStartTime至少选一个,取并集 | 否 |
|
| submitEndTime | Number | 实例就绪时间(不包含),毫秒。只返回运行的实例 | 否 | |
| owner | String | 负责人邮箱 | 否 | |
| pageNum | Number | 分页 | 否 | 1 |
| pageSize | Number | 分页条数 | 否 | 25 |
| user | String | 当前操作人邮箱 | 是 | 无 |
请求示例:
curl -i -X POST \\
-H "Content-Type:application/json" \\
-d \\
'{
"product":"intern",
"submitEndTime":1652796252196,
"pageOffset":0,
"pageSize":25,
"clusterId":"dev4",
"pageNum":1,
"user":"wei.chen@corp.netease.com",
"scheduleEndTime":1652796252196,
"scheduleStartTime":1652716800000
}
' \\
'http://easy-openapi.bdms.service.163.org/openapi/easytaskops/sched/v1/exec/list'
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | PageResult<ExecFlow> | 实例列表 |
响应示例:
{
"code": 0,
"result": {
"pageNum": 1,
"pageSize": 2,
"totalPage": 1826,
"totalCount": 3653,
"list": \[
{
"execId": 2883487,
"flow": "dqc\_demo08",
"project": "edbfad9efcb6446bb0381c9b9c88c05b",
"execStatus": "FAILED",
"scheduleTime": 1652533020000,
"submitTime": 1652796301595,
"startTime": 1652796303588,
"endTime": 1652796614470,
"flowAliasName": "dqc\_demo08",
"yarnQueue": "intern\_new",
"yarnId": "",
"highPriority": false,
"execType": "SCHEDULE",
"periodInfo": {
"type": "PERIOD",
"periodUnit": "MINUTE",
"periodValue": 5
},
"owner": {
"fullName": "金雨鑫",
"user": "jinyuxin@corp.netease.com"
}
},
{
"execId": 2883496,
"flow": "dqc\_demo08",
"project": "edbfad9efcb6446bb0381c9b9c88c05b",
"execStatus": "FAILED",
"scheduleTime": 1652533320000,
"submitTime": 1652796361596,
"startTime": 1652796364960,
"endTime": 1652796691876,
"flowAliasName": "dqc\_demo08",
"yarnQueue": "intern\_new",
"yarnId": "",
"highPriority": false,
"execType": "SCHEDULE",
"periodInfo": {
"type": "PERIOD",
"periodUnit": "MINUTE",
"periodValue": 5
},
"owner": {
"fullName": "金雨鑫",
"user": "jinyuxin@corp.netease.com"
}
}
\]
},
"reqId": "4c441a4f37ac449686a9d312a8692a7d",
"cost": 109
}
2.4.2 实例详情
GET /sched/v1/exec/detail
产品版本:v1.4.1
描述:获取实例详情
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| execId | Number | 实例id。已经就绪实例需要该字段 | 否 | |
| flow | String | 任务flow标识。未就绪实例需要flow+ project+ scheduleTime查询 | 否 | |
| project | String | 任务project标识。未就绪实例需要flow+ project+ scheduleTime查询 | 否 | |
| scheduleTime |
Number |
调度时间。未就绪实例需要flow+ project+ scheduleTime查询 | 否 | |
| user | String | 当前操作人邮箱 | 是 | 无 |
请求示例:
curl -i -X GET \
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | ExecFlowDetail | 实例详情 |
响应示例:
{
"code": 0,
"result": {
"execId": 2877323,
"flow": "mysql-check",
"project": "ddb3d6ed7fc04cc89b530c5303003885",
"execStatus": "FAILED",
"scheduleTime": 1652717400000,
"submitTime": 1652717449990,
"startTime": 1652717452373,
"endTime": 1652717489721,
"flowAliasName": "mysql-check",
"execType": "SCHEDULE",
"periodInfo": {
"type": "PERIOD",
"periodUnit": "MINUTE",
"periodValue": 10
},
"executionSetting": {
"failureAction": "FINISH\_CURRENTLY\_RUNNING",
"retrySetting": {
"maxTimes": 3,
"interval": 1000
},
"highPriority": false,
"yarnId": "default",
"yarnQueue": "intern\_new"
},
"execJobs": \[
{
"job": "default\_B74BC5",
"jobAliasName": "default\_B74BC5",
"attempt": 0,
"startTime": 1652717452389,
"endTime": 1652717458294,
"status": "SUCCEEDED",
"type": "vertical\_sql"
},
{
"job": "mysql",
"jobAliasName": "mysql",
"attempt": 3,
"startTime": 1652717478678,
"endTime": 1652717489690,
"status": "FAILED",
"type": "mysql"
},
{
"job": "mysql-check",
"jobAliasName": "mysql-check",
"attempt": 0,
"startTime": 1652717489702,
"endTime": 1652717489702,
"status": "CANCELLED",
"type": "noop"
}
\],
"owner": {
"fullName": "祝联新",
"user": "zhulianxin@corp.netease.com"
}
},
"reqId": "17079c34c7224fe4825fb72688504b78",
"cost": 678
}
2.4.3 实例重跑
GET /sched/v1/exec/rerun
产品版本:v1.4.1
描述:实例重跑
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| notifyConfig | RerunNotifyReq | 通知配置 | 否 | |
| executionSetting | RerunSettingReq | 运行参数配置 | 否 | |
| user | String | 操作人 | 是 | |
| execId | Number | 实例id | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | 无 |
请求示例:
curl -i -X POST \\
-H "Content-Type:application/json" \\
-d \\
'{
"product":"intern",
"clusterId":"dev4",
"user":"wei.chen@corp.netease.com",
"execId":2879865,
"executionSetting":
{
"failureAction":"CANCEL\_ALL",
"highPriority":true,
"yarnId":"default",
"yarnFullQueue":"root.queue\_cur.sla",
"parameters":{
"d":"2022-01-01"
},
"retrySetting":{
"maxTimes":2,
"interval":60000
},
"jobIds":\["sql1"\]
},
"notifyConfig":{
"conditions":\[
"SUCCEEDED",
"FAILED"\],
"channelIds":\[
1,
2\],
"flowOwner":true,
"currentUser":true,
"customUsers":\[
"wei.chen@corp.netease.com"\]
}
}
' \\
'http://easy-openapi.bdms.service.163.org/openapi/easytaskops/sched/v1/exec/rerun'
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | ExecFlowRerunResult | 重跑结果 |
响应示例:
{
"code": 0,
"msg": null,
"result": {
"execId": 2883515
},
"reqId": "932050a9dc5d4e14bb3e7e7b291ec4d3",
"cost": 632
}
2.4.4 实例终止
POST /sched/v1/exec/kill
产品版本:v1.4.1
描述:终止实例
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| user | String | 操作人 | 是 | |
| execId | Number | 实例id | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | 无 |
请求实例:
curl -i -X POST \\
-H "Content-Type:application/json" \\
-d \\
'{
"product":"intern",
"clusterId":"dev4",
"user":"wei.chen@corp.netease.com",
"execId":2883515
}
' \\
'http://easy-openapi.bdms.service.163.org/openapi/easytaskops/sched/v1/exec/kill'
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
响应示例:
{
"code":0,
"result":true,
"reqId":"2c57154fb4484f84a1b067e30e60dc26",
"cost":453
}
2.5 日志
2.5.1 实例节点日志
GET /log/v1/job/get
产品版本:v1.4.1
描述:获取节点日志,可以根据返回的offset+length作为下次请求的起始offset(正序读)。如果倒序读取,第一次请求offset为-1,第二次请求中的offset为第一次请求返回的offset-需要读取的长度。
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| execId | Number | 实例id | 是 | |
| job | String | 节点唯一标识 | 是 | |
| attempt | Number | 重试次数 | 是 | |
| length | Number | 读取字节长度,最大512000(500kb) | 是 | |
| offset |
Number | 读取字节位置offset(包含),从0开始。如果offset=-1,则返回末尾指定长度的日志。目前offset是字节数,如果日志中有中文可能读取字符串长度比指定length少 | 是 | |
| user | String | 当前操作人邮箱 | 是 | 无 |
请求示例:
# 从尾部开始往上查(tail)
curl -i -X GET \
# 从头部开始往下查(head)
curl -i -X GET \
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | ExecFlowJobLog | 日志 |
响应示例:
{
"code":0,
"result":{
"offset":27526,
"data":"inTrackingURI: http://hadoop335.photo.163.org:8088/cluster/app/application\_1646013605590\_179749\\n}\\n20",
"length":100
},
"reqId":"bd112e9cc3c547d1963e5401bf761066",
"cost":738
}
2.6 补数据
2.6.1 指定任务补数据
POST /backfill/v1/no-cascade/create
产品版本:v1.4.1
描述:补指定任务(不会自动补下游任务)
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| name | String | 补数据名,默认名为‘补数据_时间戳’。不可重复 | 否 | 补数据_${now()} |
| flows | Array<BackfillFlowReq> | 指定任务列表 | 是 | |
| leftTime | Number | 实例开始时间(包含) | 是 | |
| rightTime | Number | 实例结束时间(不包含),默认当前时间 | 否 | now() |
| user | String | 当前操作人邮箱 | 是 | |
| periodValue | Number | 周期值。如果是非调度任务则必须填 | 否 | |
| periodUnit | SchedulePeriodEnum | 周期单位。如果是非调度任务则必须填 | 否 | |
| concurrentSize | Number | 并发度,不能大于100 | 否 | 5 |
| notifyConfig | BackFillNotifyReq |
通知配置。默认会发送邮件给当前用户(user),报警通道为邮箱,如果环境中没有启用邮箱通道则不会发送。 |
否 | {"conditions":["SUCCEEDED","FAILED","CANCELED"],"channelIds":[1],"currentUser":true} |
| notifyDisable | Boolean | 是否发送通知,如果为true,即使传notifyConfig也不生效。 | 否 | false |
| timeReverse | Boolean | 是否倒序执行 | 否 | false |
| crossSelfDepend | Boolean | 是否自依赖 | 否 | false |
| executionSetting | BackfillSettingReq | 执行设置 | 否 | 无 |
请求示例:
curl -i -X POST \\
-H "Content-Type:application/json" \\
-d \\
'{
"clusterId":"dev4",
"name":"补数据任务\_20220517\_19331",
"concurrentSize":5,
"crossSelfDepend":false,
"flows":\[
{
"flow":"tttt\_copy1\_1",
"project":"f554c4c1973d40a5bf53d22ed557babd"
}\],
"executionSetting":
{
"failureAction":"CANCEL\_ALL",
"highPriority":true,
"yarnId":"default",
"yarnFullQueue":"root.intern\_new.default",
"parameters":{
"d":"2022-01-01"
},
"retrySetting":{
"maxTimes":2,
"interval":60000
}
},
"notifyConfig":{
"conditions":\[
"SUCCEEDED",
"FAILED",
"CANCELED"\],
"channelIds":\[
1,
2\],
"flowOwner":true,
"currentUser":true,
"customUsers":\[
"wei.chen@corp.netease.com"\]
},
"leftTime":1652630400000,
"product":"intern",
"rightTime":1652787165744,
"timeReverse":false,
"user":"wei.chen@corp.netease.com"
}
' \\
'http://easy-openapi.bdms.service.163.org/openapi/easytaskops/backfill/v1/no-cascade/create'
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | Number | 补数据id |
响应示例:
{
"code": 0,
"result": 100000485,
"reqId": "fd02022b17114a2f8c9ef1ee774c01e4",
"cost": 513
}
2.6.2 查询补数据详情
GET /backfill/v1/detail/get
产品版本:v1.4.1
描述:获取补数据详情
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| id | Number | 补数据id | 是 | |
| user | String | 当前操作人邮箱 | 是 | 无 |
请求示例:
curl -i -X GET \
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | BackfillDetail | 补数据详情 |
响应示例:
{
"code": 0,
"result": {
"id": 100000485,
"name": "补数据任务\_\_20220517\_221330",
"leftTime": 1652630400000,
"rightTime": 1652787165744,
"startTime": 1652796812626,
"status": "RUNNING\_EXCEPTION",
"creator": {
"fullName": "朱晨璐",
"user": "zhuchenlu@corp.netease.com"
},
"concurrentSize": 5,
"timeReverse": false,
"crossSelfDepend": false,
"executionSetting": {
"failureAction": "CANCEL\_ALL",
"retrySetting": {
"maxTimes": 2,
"interval": 60000
},
"parameters": {
"d": "2022-01-01"
},
"highPriority": true,
"yarnId": "default",
"yarnQueue": "intern\_new"
},
"flows": \[
{
"flowAliasName": "tttt\_copy1",
"flow": "tttt\_copy1",
"project": "e57d9d08843843289f262501d149d15e",
"periodInfo": {
"type": "PERIOD",
"periodUnit": "DAY",
"periodValue": 1
}
}
\]
},
"reqId": "fd02022b17114a2f8c9ef1ee774c01e4",
"cost": 513
}
2.6.3 补数据任务终止
POST /backfill/v1/kill
产品版本:v1.8.2
描述:补数据任务终止
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| id | Number | 补数据id | 是 | |
| user | String | 当前操作人邮箱 | 是 | 无 |
请求示例:
curl -i -X POST \\
-H "Content-Type:application/json" \\
-d \\
'{
"clusterId":"dev4",
"id":100000485,
"product":"intern",
"user":"wei.chen@corp.netease.com"
}
' \\
'http://easy-openapi.bdms.service.163.org/openapi/easytaskops/backfill/v1/kill'
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
响应示例:
{
"code":0,
"result":true,
"reqId":"2c57154fb4484f84a1b067e30e60dc26",
"cost":453
}
2.7 标签
2.7.1 获取项目标签列表
GET /tag/v1/list
产品版本:v1.8.6
描述:获取所有标签
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | |
| user | String | 当前操作人邮箱 | 是 | |
| pageNum | Number | 分页 | 否 | 1 |
| pageSize | Number | 分页条数 | 否 | 25 |
请求示例:
curl -i -X GET \\
'http://easy-openapi.bdms.service.163.org/openapi/easytaskops/tag/v1/list?clusterId=dev4&product=intern&user=wei.chen%40corp.netease.com'
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | PageResult |
标签列表 |
响应示例:
{
"code": 0,
"result": {
"pageNum": 1,
"pageSize": 25,
"totalPage": 1,
"totalCount": 2,
"list": \[
{
"id": 1,
"name": "标签1",
"description": "这是一个描述",
"values": \[
{
"id": 1,
"value": "值1"
}
\]
},
{
"id": 2,
"name": "标签2",
"description": "这是一个描述",
"values": \[
{
"id": 2,
"value": "值123422"
},
{
"id": 4,
"value": "值12322"
}
\]
}
\]
},
"reqId": "9daddce816b34fc0a0ff7315b29477f0",
"cost": 767
}
2.8 Yarn任务
2.8.1 获取运行中yarn任务列表
GET /yarn/v1/running/list
产品版本:v1.8.8
描述:获取所有运行中的yarn任务列表。目前只支持提交到azkaban上运行的任务
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| clusterId | String | 集群 | 是 | |
| user | String | 当前操作人邮箱 | 是 | |
| yarnId | String | 集群id | 否 | default |
| yarnFullQueue | String | 指定队列名 | 否 | |
| applicationType | YarnApplicationTypeEnum | yarn任务类型 | 否 | |
| execType | ExecTypeEnum | 执行类型 | 否 | |
| execSource | ExecSourceEnum | 执行来源 | 否 | 无 |
请求示例:
curl -i -X GET \\
'http://easy-openapi.bdms.service.163.org/openapi/easytaskops/yarn/v1/running/list?clusterId=dev4&user=wei.chen%40corp.netease.com'
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | Array<YarnExecJob> | 节点实例列表 |
响应示例:
{
"code": 0,
"result": \[
{
"applicationId": "application\_1694163532253\_194174",
"product": "intern",
"execId": 17253017,
"flow": "dqcbada1dd8c5be55c2cf5c8645cd7f301e",
"project": "",
"jobId": "dqcbada1dd8c5be55c2cf5c8645cd7f301e",
"jobAliasName": "dqcbada1dd8c5be55c2cf5c8645cd7f301e",
"startTime": 1698134520668,
"flowAliasName": "dqcbada1dd8c5be55c2cf5c8645cd7f301e",
"yarnFullQueue": "root.intern\_new.default",
"execType": "DEV\_EXECUTE",
"submitter": {
"fullName": "闫贤",
"user": "yanxian01@corp.netease.com"
},
"applicationType": "SPARK",
"execSource": "DQC"
},
{
"applicationId": "application\_1694163532253\_160274",
"product": "intern",
"execId": 17174412,
"flow": "20230804\_up\_02",
"project": "7e4d434e7d9c4bfdb5c29be4dd5db4c8",
"jobId": "up\_02",
"jobAliasName": "up\_02",
"startTime": 1697529995092,
"flowAliasName": "20230804\_up\_02",
"yarnFullQueue": "root.intern\_1.default",
"execType": "SCHEDULE",
"submitter": {
"fullName": "孙伟鹏",
"user": "sunweipeng01@corp.netease.com"
},
"applicationType": "SPARK",
"execSource": "OFFLINE\_SCHEDULE"
}
\],
"reqId": "4775908bcb2a407ebd5c55d783fb6ed3",
"cost": 454
}
2.8.2 终止实例
POST /yarn/v1/kill
产品版本:v1.8.8
描述:终止实例,包括开发环境运行的实例
URL参数/请求体
| 名称 | 类型 | 描述 | 必须 | 默认值 |
|---|---|---|---|---|
| user | String | 操作人 | 是 | |
| execId | Number | 实例id | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群 | 是 | 无 |
请求实例:
curl -i -X POST \\
-H "Content-Type:application/json" \\
-d \\
'{
"product":"intern",
"clusterId":"dev4",
"user":"wei.chen@corp.netease.com",
"execId":2883515
}
' \\
'http://easy-openapi.bdms.service.163.org/openapi/easytaskops/yarn
/v1/kill'
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码 |
| reqId | String | 请求ID |
| cost | Number | 耗时 |
| msg | String | 响应消息 |
| result | Boolean | 终止结果 |
响应示例:
{
"code":0,
"result":true,
"reqId":"2c57154fb4484f84a1b067e30e60dc26",
"cost":453
}