实时计算OpenAPI
- 一 公共参数
- 1.1 响应格式
- 1.2 响应码(1000~9999)
- 1.3 公共枚举定义
- 1.4 查询实体列表
- 1.5 响应实体列表
- 1.5.1 JobBasicInfo
- 1.5.2 ResourceFileSimpleInfo
- 1.5.3 UdfSimpleInfo
- 1.5.4 StartJobResult
- 1.5.5 StopJobResult
- 1.5.6 RestartJobResult
- 1.5.7 JobStatus
- 1.5.8 ProductInfo
- 1.5.9 ClusterInfo
- 1.5.10 UserInfo
- 1.5.11 LineageSearchTips
- 1.5.12 LineageSearch
- 1.5.13 TableDetail
- 1.5.14 MetaProp
- 1.5.15 FieldNode
- 1.5.16 TableSimpleDetail 流表简要信息
- 1.5.17 ProductClusterVo项目-集群信息
- 1.5.18 OpsJobBasicInfo运维任务基本信息
- 1.5.19 JobCurrentCheckpointInfo 当前运行的checkpoint
- 1.5.20 JobCheckpointInfo 任务的历史checkpoint
- 1.5.21 JobSavepointtInfo 任务的历史savepoint
- 1.6 备注
- 二、OpenAPI列表
此手册用于记录大数据开发与管理平台中,实时计算产品所有对外开放的OpenAPI,阅读此手册,你将了解实时计算产品开放的OpenAPI能力与调用方法。
OpenAPI 使用方法和通用说明请参考:
OpenAPI通用规范说明,实时计算平台对应的子产品代号为:easystream
一 公共参数
1.1 响应格式
| 名称 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码:非0表示失败。 |
| reqId | String | 请求ID |
| msg | String | 响应消息 |
| result | Object | 响应结果 |
| cost | Number | 耗时 |
1.2 响应码(1000~9999)
| 响应码 | 描述 |
|---|---|
| 1000 | openapi请求参数为空! |
| 1001 | 请求参数必须extends OpenapiBaseRequest |
| 1002 | 参数[{}]不能为空 |
| 1003 | 获取用户[{}]信息失败 |
| 1004 | 用户[{}]不存在 |
| 1005 | 获取产品信息失败,产品[{}]! |
| 1006 | 用户[{}]产品列表为空 |
| 1007 | 用户[{}]不在产品里, 产品[{}]! |
| 1008 | 产品[{}]不存在 |
| 1009 | 任务名重复 |
| 1010 | 目录[{}],不存在 |
| 1011 | 该引擎类型不存在,或者没有入库[{}] |
| 1012 | 目录[{}]格式有问题 |
| 1013 | 目录[{}]创建失败 |
| 1014 | 目录深度超过两层 |
| 1015 | JAR包不存在 |
| 1016 | 任务不存在 |
| 1017 | 发布失败,错误原因:[{}] |
| 1018 | 文件已存在 |
| 1019 | 文件格式只能是*.jar, *.xml, *.proto, *.keytab, *.conf |
| 1131 | cdc任务引擎类型无效 |
| 1132 | 参数[{}]无效,正确的是[{}] |
| 1133 | 数据源id[{}]无效,查找不到对应的数据源 |
| 1134 | cdc任务源端增量读取方式为ogg时目标端类型只能为kafka |
| 1135 | 更新资源实例信息异常 |
| 1136 | 更新队列信息异常 |
| 1137 | 获取参数组信息异常 |
| 1138 | 获取参数组[{}]无效, 查找不到对应的参数组 |
| 1403 | 用户不存在或者权限不正确 |
| 3_101 | 输入参数异常[{}] |
| 3_102 | 未找到文件元信息!请尝试重新上传完整文件 |
| 3_103 | 读/写HDFS时发生异常! |
| 3_104 | 获取zk连接失败,请尝试重新上传文件 |
| 3_105 | 当前分块上传失败,请尝试重新上传文件 |
| 3_106 | 计算md5时发生异常! |
| 3_107 | uuid找不到对应的上传记录:{} |
| 4001 | 数据源不存在 |
| 4002 | 未获取到数据 |
| 4003 | topic 为空 |
| 4004 | 数据类型[{}]不支持 |
| 4005 | 数据类型不匹配 |
| 4006 | map数据类型没有key |
| 4007 | map数据类型没有value |
| 4008 | array数据类型没有value |
| 4009 | 数据类型没有为空 |
| 4010 | 需要传入子类型 |
| 4011 | brokeList为空 |
| 4012 | json解析失败:{} |
| 4013 | canal_json 需要data数组 |
| 4014 | 数据类型[{}],不支持自动解析 |
| 4015 | debezium-json 需要op字段 |
| 4016 | debezium-json 需要before字段 |
| 4017 | debezium-json 需要AFTER字段 |
| 4018 | maxwell-json 需要data字段 |
| 4019 | 链接kafka出现异常,检查kafka是否可用:[{}] |
| 4020 | decimal 校验失败:[{}],请输入精度(1-38)和小数位数(0-38且小于精度),用英文逗号隔开 |
| 4021 | 获取jsonObject失败,可能是你传入的不是对象 |
| 4022 | 引擎不存在 |
| 4023 | kafka需要必填配置group id |
| 4024 | RocketMQ需要必填配置group |
| 4025 | 获取的数据超过数据解析长度上限,请重新获取或手动输入数据 |
| 4437 | 添加流表失败:{} |
1.3 公共枚举定义
1.3.1 EngineTypeEnum
| 枚举值 | 类型 | 名称 |
|---|---|---|
| FLINK1_10 | String | flink引擎版本1.10 |
| FLINK1_12_0 | String | flink引擎版本1.12 |
| FLINK1_13 | String | flink引擎版本1.13 |
| FLINK1_14 | String | flink引擎版本1.14 |
1.3.2 StartMode
| 枚举值 | 类型 | 名称 |
|---|---|---|
| FROM_LAST_CHECKPOINT | String | 从最近的checkpoint启动 |
| FROM_LAST_SAVEPOINT | String | 从最近的savepoint启动 |
| FROM_PATH | String | 从指定的路径启动 |
| NONE | String | 直接启动 |
1.3.3 JobStatusEnum 任务运行状态
| 枚举值 | 类型 | 名称 |
|---|---|---|
| STARTING | String | 启动中 |
| START_FAILED | String | 启动失败 |
| RUNNING | String | 运行中 |
| FINISHED | String | 任务执行结束,并正确的退出 |
| FAILED | String | 任务因为异常运行失败 |
| STOPPING | String | 停止中 |
| STOPPED | String | 已停止 |
| READY | String | 未启动 |
| START_PENDING | String | 启动等待中 |
| STOP_PENDING | String | 停止等待中 |
| UNKNOWN | String | 未知(无法访问集群) |
1.3.4 SearchTypeEnum 检索类型
| 枚举值 | 类型 | 名称 |
|---|---|---|
| CATALOG | String | 数据源标识检索 |
| DATASOURCE_NAME | String | 数据源名称检索 |
| STREAM_TABLE_NAME | String | 流表名称检索 |
| TOPIC_NAME | String | topic 名称检索 |
| PHYSICAL_TABLE_NAME | String | 物理表名称 |
1.3.5 JobTypeEnum 任务类型
| 枚举值 | 类型 | 名称 |
|---|---|---|
| SQL | String | SQL任务 |
| JAR | String | JAR任务 |
1.3.6 DatasourceTypeEnum 数据源类型
同元数据中心大小写保持一致.
| 枚举值 | 类型 | 名称 |
|---|---|---|
| kafka | String | Kafka |
| pulsar | String | Pulsar |
| rocketmq | String | RocketMQ |
| mysql | String | MySQL |
| oracle | String | Oracle |
| postgresql | String | Postgresql |
| kudu | String | Kudu |
| tidb | String | TiDB |
| es | String | Elasticsearch |
| hbase | String | HBase |
| redis | String | Redis |
| hive | String | Hive |
| starrocks | String | Starrocks |
| doris | String | Doris |
1.3.7 TABLE_TYPE 流表的类型
| 枚举值 | 类型 | 名称 |
|---|---|---|
| SOURCE_TABLE | String | 源表 |
| SINK_TABLE | String | 目标表 |
| DIM_TABLE | String | 维表 |
1.3.8 CheckpointStatusEnum checkpoint 状态
| 枚举值 | 类型 | 名称 |
|---|---|---|
| IN_PROGRESS | String | 进行中 |
| COMPLETED | String | 完成 |
| FAILED | String | 失败 |
1.4 查询实体列表
1.4.1 JobTaskConfig
任务参数配置
字段说明:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| checkpointSwitch | boolean | cp开关 | 否 | False 关闭 |
| checkpointInterval | int | cp间隔:单位s | 否 | 30 |
| checkpointMode | CheckpointMode | cp模式 | 否 | EXACTLY_ONCE |
| checkpointTimeout | int | cp超时时间 | 否 | 30 |
| restartStrategy | RestartStrategy | 重启策略 | 否 | fixed-delay |
| restartAttempts | int | 重启失败次数 | 否 | 10 |
| restartDelay | int | 重试时间间隔 | 否 | 10 |
| restartInterval | int | 重启时间范围 | 否 | 300 |
| extendConfig | Map<String,Stirng> | flink高级配置 | 否 | 无 |
1.4.2 JobResourceConfig
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| resourceInstanceName | String | 资源实例名称 | 是 | |
| queueName | String | 队列名称 | 是 | |
| slots | int | slot数量 | 否 | 1 |
| tmMemory | int | tm内存:单位M | 否 | 2048 |
| jmMemory | int | jm内存:单位M | 否 | 2048 |
| parallelism | int | 并发数 | 否 | 1 |
| accountType | String | 提交账号 PLATFORM_ACCOUNT 平台账号 (默认) PRODUCT_ACCOUNT 项目账号 |
否 | PLATFORM_ACCOUNT |
| deploymentMode | String | 部署模式: per-job : PER_JOB application-mode : APPLICATION_MODE |
否 | PER_JOB |
1.4.3 CheckpointMode
| 名称 | 类型 | 描述 |
|---|---|---|
| EXACTLY_ONCE | String | 至多一次 |
| AT_LEAST_ONCE | String | 至少一次 |
1.4.4 StateBackend 存储介质
| 名称 | 类型 | 描述 |
|---|---|---|
| hdfs | String | hdfs |
| rocksdb | String | rocksdb |
1.4.5 RestartStrategy 重启策略
| 名称 | 类型 | 描述 |
|---|---|---|
fixed-delay |
String | 固定间隔,如果超过最大尝试次数,作业会最终失败,在连续两次重启尝试之间等待固定的时间 |
failure-rate |
String |
在失败之后重新启动作业,但是当超过故障率时,作业最终会失败。在连续两次重启尝试之间等待固定时间。 |
如果没有启用 checkpointing,则使用无重启 (no restart) 策略。
如果启用了 checkpointing,但没有配置重启策略,则使用固定间隔 (fixed-delay) 策略
fixed-delay** 需要传入重启失败次数和重试时间间隔**
failure-rate 需要传入 重启失败次数、重启时间范围、重试时间间隔
1.4.6 StartJobInfo
任务启动参数配置
字段说明:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| jobId | String | 任务id | 是 | |
| startMode | startMode | 启动任务的方式,枚举类型 | 否 | NONE |
| statePath | String | 状态路径 | 否 | 无 |
1.4.7 StopJobInfo
任务停止参数配置
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| jobId | String | 任务id | 是 | |
| triggerSavepoint | boolean | 是否触发savepoint保存 | 否 | 无 |
1.4.8 RestartJobInfo
任务重启参数配置
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| jobId | String | 任务id | 是 | |
| startMode | startMode | 启动任务的方式,枚举类型 | 否 | NONE |
| statePath | String | 状态路径 | 否 | |
| triggerSavepoint | boolean | 是否触发savepoint保存 | 否 | 无 |
1.4.9 AlarmInfo
告警信息配置
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| emails | Array<String> | 告警用户信息 | 否 | null |
| alarmRuleList | Array<AlarmRule> | 告警规则详细描述 | 是 | null |
| alarmGroupId | String | 告警接收组id,如sloth开发组 | 否 | null |
| pausingInterval | int | 全局告警抑制时间 | 否 | null |
| pausingEnable | boolean | 是否开启告警抑制 | 是 | false |
| alarmEnable | boolean | 是否开启告警 | 是 | true |
1.4.10 AlarmRule
告警规则
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| metricType | String | 告警指标类型: failover data_retention_latency:数据滞留延迟 job_failed:任务失败 input_qps:输入QPS output_qps:输出QPS failed_checkpoint:checkpoint失败次数 user_defined_latency:用户自定义延迟 record_lag:滞留数据量 backpressure:反压 |
是 | |
| metricName | String | 告警指标名称 | 否 | -1 |
| cycleTime | int | 单个统计周期的时长:(任务失败不支持配置) 1:1分钟周期 5:5分钟周期 10:10分钟周期 15:15分钟周期 20:20分钟周期 25:25分钟周期 30:30分钟周期 |
是 | |
| alarmInterval | int | 报警间隔时长,单位:分钟 | 是 | |
| suppressOperator | String | 单个统计周期内的运算符:(仅支持用户自定义延迟) >=:大于等于 |
否 | -1 |
| cycleNum | String | 连续多少个统计周期: 1:连续1个周期 3:连续3个周期 5:连续5个周期 |
否 | -1 |
| threshold | String | 定义的多个统计周期内告警阈值:(任务失败不支持配置) | 否 | -1 |
| suppressThreshold | String | 单个统计周期内告警阈值:(仅支持用户自定义延迟) | 是 | |
| statisticsType | String | 聚合类型: max:最大值 avg:平均值 sum:总和 |
否 | -1 |
| operator | String | 定义的多个统计周期内运算符:(任务失败不支持配置) >=:大于等于 <:小于 |
是 | -1 |
| receiveType | Array<String> | 告警方式的接收类型(根据支持的通道设置): sendemail:邮箱; sendsms:短信 sendvoice:电话; |
是 | 无 |
1.4.11 ParamSetInfo
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| id | String | 参数组唯一标识 | 是 | |
| priority | int | 参数组的优先级, 数值越小, 优先级越高. 如果不同的参数组中有相同的参数, 使用参数组priority 最小的值. |
是 | |
| name | String | 参数组名称 | 否 | 无 |
1.5 响应实体列表
1.5.1 JobBasicInfo
| 名称 | 类型 | 描述 |
|---|---|---|
| jobId | String | 任务id |
| jobName | String | 任务名称 |
| jarInfo | JarInfo | 对Jar任务的描述 |
| jobType | String | 任务类型 |
| rawSql | String | SQL文本信息 |
| fileList | ResourceFileSimpleInfo | 依赖的文件信息 |
| udfList | UdfSimpleInfo | 依赖的udf信息 [请注意手动选择函数依赖的方式, udfList参数中不会显示udf信息,请尽快下线, 推荐采用对接udf stuido的新方式使用.] |
| paramSetList | ParamSetInfo | 依赖的参数组信息 |
| creator | String | 任务的创建者 |
| createTime | String | 任务的创建时间 |
| publisher | String | 任务的发布人 |
| env | String | 环境id |
| category | String | 任务所属目录id |
| tags | Array<String> | 任务的标签信息 |
| description | String | 任务的描述信息 |
| lastStartJobExecHistoryId | String | 最后一次启动任务的执行id |
| startExecId | String | 任务的启动id |
| lastClusterId | String | 任务所属的集群id |
| jobStatus | String | 任务的运行状态 |
| applicationId | String | 对应flink任务id |
| flinkUrl | String | Flink web URL |
| monitorUrl | String | 任务的Grafana监控地址 |
| jarHdfs | String | jar任务的话需要传入hdfs路径 |
| jarName | String | jar包名称 |
| mainClass | String | jar任务主类 |
| mainArgs | String | 配置参数 |
1.5.2 ResourceFileSimpleInfo
| 名称 | 类型 | 描述 |
|---|---|---|
| id | String | 依赖资源id |
| name | String | 依赖资源名称 |
| path | String | 依赖资源的绝对路径 |
1.5.3 UdfSimpleInfo
注意: 手动选择函数依赖的方式, udfList参数中不会显示udf信息,请尽快下线,
推荐采用对接udf stuido的新方式使用.
| 名称 | 类型 | 描述 |
|---|---|---|
| uid | String | udf 函数唯一标识 |
| name | String | udf名称 |
| className | String | udf class |
| resourceUid | String | udf 引用的资源文件 |
| md5 | String | udf 引用的资源文件md5 |
1.5.4 StartJobResult
| 名称 | 类型 | 描述 |
|---|---|---|
| jobId | String | 唯一标识 |
| jobName | String | 任务名称 |
| isSuccess | Boolean | 是否成功 |
| errorMessage | String | 异常信息 |
1.5.5 StopJobResult
| 名称 | 类型 | 描述 |
|---|---|---|
| jobId | String | 唯一标识 |
| jobName | String | 任务名称 |
| isSuccess | Boolean | 是否成功 |
| errorMessage | String | 异常信息 |
1.5.6 RestartJobResult
| 名称 | 类型 | 描述 |
|---|---|---|
| jobId | String | 唯一标识 |
| jobName | String | 任务名称 |
| isSuccess | Boolean | 是否成功 |
| errorMessage | String | 异常信息 |
1.5.7 JobStatus
| 名称 | 类型 | 描述 |
|---|---|---|
| jobId | String | 唯一标识 |
| jobStatus | String | 任务状态 |
1.5.8 ProductInfo
| 名称 | 类型 | 描述 |
|---|---|---|
| productId | String | 项目id |
| product | String | 项目 |
| description | String | 项目描述 |
| clusters | Array<ClusterInfo> | 无 |
1.5.9 ClusterInfo
| 名称 | 类型 | 描述 |
|---|---|---|
| clusterId | String | 集群唯一标识 |
| clusterName | String | 集群名称(中文) |
1.5.10 UserInfo
| 名称 | 类型 | 描述 |
|---|---|---|
| user | String | 用户 |
| fullName | String | 用户名 |
1.5.11 LineageSearchTips
| 名称 | 类型 | 描述 |
|---|---|---|
| product | String | 项目 |
| clusterId | String | 集群 |
| catalog | String | 数据源标识 |
| datasourceName | String | 数据源名称 |
| db | String | 数据库(流表显示流标库, 否则显示物理库名称) |
| table | String | 表名 (如果是topic检索, 返回的是topic名称, 流表和物理表检索的情况为表名, 其他情况该字段为空) |
| datasourceType | DatasourceTypeEnum | 数据源类型 |
| searchType | SearchTypeEnum | 查询类型 |
| useType | String | 在流表检索的时候使用, 用于标识是项目-集群流表还是公共流表 |
| connectorUrl | String | 连接信息 |
1.5.12 LineageSearch
| 名称 | 类型 | 描述 |
|---|---|---|
| product | String | 项目 |
| clusterId | String | 集群 |
| clusterName | String | 集群名称 |
| jobId | String | 任务唯一标识 |
| jobName | String | 任务名称 |
| url | String | 任务跳转实时运维链接 |
| jobType | JobTypeEnum | 任务类型 |
| jobStatus | JobStatusEnum | 任务状态 |
| version | String | 任务版本 |
| owner | Array<UserInfo> | 任务负责人 |
| referenceInfo | String | 引用信息 当搜索内容为数据源名称或数据源标识时,内容为当前搜索的数据源在本行任务中具体被使用的物理表名称,有库名的展示[库名].[表名],仅 有表名的(kudu、es)展示表名,消息队列类型的展示topic名称。同一任务引用同一数据源下多个表时,表名间用逗号隔开。 当搜索内容为topic或表名称时,内容为当前搜索的表实际在任务中被使用的方式,为流表时展示“流表”并展示该流表的库名.表名(如为公共流表则展示三元组),如同样的流表被使用了多次则去重。非流表时展示“非流表”。 |
1.5.13 TableDetail
| 名称 | 类型 | 描述 |
|---|---|---|
| id | Number | 流表id |
| product | String | 项目名称 |
| productId | Number | 流表归属的项目id |
| db | String | 流表库名称 |
| datasourceType | DATASOURCE_TYPE | 流表的数据源类型 |
| table | String | 流表名称 |
| datasourceCatalog | String | 绑定的的数据源catalog |
| formatType | FORMAT_TYPE | 序列化方式 |
| comments | String | 描述 |
| creator | UserInfo | 创建者 |
| modifier | UserInfo | 修改者 |
| createTime | Date | 创建时间 |
| datasourceName | String | 对应数据源的名称 |
| fieldNodes | Array<SlothFieldNode> | 字段信息 |
| clusterId | String | 对应的集群 |
| availableTableTags | Array<TABLE_TYPE> | 表可用类型 |
| props | Array<MetaProp> | 配置项列表 |
| esDocumentType | String | 针对es的数据源小于7的版本需要填写documentType |
| physicsDB | String | 物理库的名称 |
| physicsTable | String | 物理表的名称 |
| watermarkField | MetaProp | watermark字段 |
| delimiter | String | 针对csv的序列化类型需要输入分隔符 |
| topic | String | 消息队列需要输入topic |
| useableRange | Number | 可用范围0、代表本项目-集群,1、代表公共流表 |
| publicRange | Number | 公开范围0、代表项目组内公开,1代表指定某个项目-集群 |
| publicProductAndCluster | Array<ProductClusterVo> | 公开的项目-集群列表 |
| usedByJob | Boolean | 是否已经被任务引用,如果被引用了则不可以再变更库,以及公开范围 |
| streamTableCatalog | String | 流表归属的catalog |
1.5.14 MetaProp
| 名称 | 类型 | 描述 |
|---|---|---|
| name | String | 配置名称 |
| value | String | 配置项的值 |
| timeUnit | String | 针对watermark存在需要输入时间单位 |
1.5.15 FieldNode
| 名称 | 类型 | 描述 |
|---|---|---|
| columnName | String | 列名称 |
| columnType | String | 列数据类型 (特殊类型: meta_field : META列 calc_field : 计算列) |
| decimalType | String | decimalType的精度 例如:38,18 |
| columnEditEnable | Boolean | 是否可编辑 |
| description | String | 描述 |
| children | Array<FieldNode> | 子节点 |
| timeDegree | Number | 时间节点精度默认是6 |
| primaryKey | Boolean | 是否是主键 |
| columnValue | String | 列自定义值(只有计算列和meta列生效) |
1.5.16 TableSimpleDetail 流表简要信息
| 名称 | 类型 | 描述 |
|---|---|---|
| id | Number | 流表id |
| db | String | 流表库名称 |
| datasourceType | DATASOURCE_TYPE | 流表的数据源类型 |
| catalog | String | 流表归属的catalog |
| table | String | 流表名称 |
| datasourceCatalog | String | 绑定的的数据源catalog |
| modifier | UserInfo | 修改者 |
| updateTime | Date | 创建时间 |
| availableTableTags | Array<TABLE_TYPE> | 表可用类型 |
| publicTable | boolean | 是否是公共流表 |
| fromProductAndCluster | String | 创建时的项目-集群 |
| publicRange | Number | 公开范围0、代表项目组内公开,1代表指定某个项目-集群 |
| publicProductAndCluster | Array<ProductClusterVo> | 公开的项目-集群列表 |
1.5.17 ProductClusterVo项目-集群信息
| 名称 | 类型 | 描述 |
|---|---|---|
| product | String | 项目名称 |
| productId | Number | 项目id |
| clusterId | String | 集群id |
| clusterName | String | 集群名称 |
1.5.18 OpsJobBasicInfo运维任务基本信息
| 名称 | 类型 | 描述 |
|---|---|---|
| jobId | Number | 任务id |
| jobName | String | 任务名称 |
| jobType | JobTypeEnum | 任务类型 |
| jobStatus | JobStatusEnum | 任务状态 |
| env | String | 任务环境标签名称 |
| category | String | 任务类别标签名称 |
| owner | Arrays<UserInfo> | 责任人 |
| lastStartTime | Date | 最近一次启动时间 |
| vCore | Double | 任务占用的核数 |
| memory | Double | 任务占用的内存 |
| jobUrl | String | 任务运维详情页url |
1.5.19 JobCurrentCheckpointInfo 当前运行的checkpoint
| 名称 | 类型 | 描述 |
|---|---|---|
| jobId | String | 任务id |
| jobExecId | String | 任务执行id |
| checkpointName | String | checkpoint名称 |
| checkpointDisplayDuration | String | checkpoint耗时(带单位) |
| checkpointDisplaySize | String | checkpoint大小(带单位) |
| checkpointDuration | Number | checkpoint耗时(单位:毫秒) |
| checkpointPath | String | checkpoint路径 |
| checkpointSize | Number | checkpoint大小(单位: byte) |
| checkpointStatus | CheckpointStatusEnum | checkpoint状态 |
| checkpointTime | String | checkpoint时间 |
1.5.20 JobCheckpointInfo 任务的历史checkpoint
| 名称 | 类型 | 描述 |
|---|---|---|
| jobId | String | 任务id |
| jobExecId | String | 任务执行id |
| checkpointName | String | checkpoint名称 |
| checkpointDisplaySize | String | checkpoint大小(带单位) |
| checkpointPath | String | checkpoint路径 |
| checkpointSize | Number | checkpoint大小(单位: byte) |
| checkpointTime | String | checkpoint时间 |
1.5.21 JobSavepointtInfo 任务的历史savepoint
| 名称 | 类型 | 描述 |
|---|---|---|
| jobId | String | 任务id |
| jobExecId | String | 任务执行id |
| savepointName | String | savepoint名称 |
| savepointDisplaySize | String | savepoint大小(带单位) |
| savepointPath | String | savepoint路径 |
| savepointSize | Number | savepoint大小(单位: byte) |
| savepointTime | String | savepoint时间 |
1.6 备注
1.6.1 字段支持的数据源类型
不同数据源支持的参数类型不同,具体阅读用户手册
| 字段类型 |
|---|
| string |
| int |
| bigint |
| float |
| double |
| time |
| timestamp |
| boolean |
| varbinary |
| tinyint |
| smallint |
| date |
| row |
| map |
| array |
| decimal |
| metadata字段 |
| 计算列 |
1.6.2 DATASOURCE_TYPE 流表支持的数据源类型
| 枚举值 | 类型 |
|---|---|
| kafka | String |
| pulsar | String |
| rocketmq | String |
| mysql | String |
| oracle | String |
| es | String |
| habse | String |
| kudu | String |
二、OpenAPI列表
2.1 任务OpenAPI
2.1.1 新建SQL 任务
POST /job/v2/sql/create
版本:3.9.10
描述:创建SQL类型的任务
URL参数/请求体
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| user | String | 用户邮箱 | 是 | |
| jobName | String | 任务名称 | 是 | |
| engineType | EngineTypeEnum | 引擎类型,枚举值 | 是 | 13484000335 |
| folderPath |
String |
保存的文件夹路径,为空:位于根目录,格式:aa/bb,最多支持两级目录 | 否 | |
| rawSql | String | sql语句,sql最好传入\n用于分隔 | 是 | |
| description | String | 任务描述 | 否 | |
| dependencyIds | Array<String> | 依赖文件id列表 | 否 | |
| paramSetInfo | Array<ParamSetInfo> | 参数组依赖 | 否 | |
| jobTaskConfig | JobTaskConfig | 任务配置 | 否 | |
| jobResourceConfig | JobResourceConfig | 资源配置 | 是 | 如果资源配置中设置了资源实例和队列, 可以不选. |
| alarmInfo | AlarmInfo | 告警配置 | 否 | 默认配置 |
请求示例:
{
"product": "sloth",
"clusterId": "dev4",
"user": "abc@example.com",
"jobName": "jarName",
"engineType": "FLINK1\_12\_0",
"folderPath": "/tmp/dir",
"rawSql": "this is sql",
"description": "sql job description",
"dependencyIds": \[
1,
2,
4
\],
"paramSetList" : \[
{
"id" : 1,
"priority" : 1
},
{
"id" : 2,
"priority" : 2
}
\],
"jobTaskConfig" : {
"checkpointSwitch" : true,
"checkpointMode" : "EXACTLY\_ONCE"
},
"jobResourceConfig" : {
"resourceInstanceName" : "sloth\_yarn\_cluster\_name",
"queueName" : "sloth\_queue\_name"
}}
返回示例:
| 名称 | 类型 | 描述 |
|---|---|---|
| jobId | Integer | 新创建任务的id |
{
"code": 0,
"msg": "success",
"result": {
"jobId":"104722"
},
"requestId": null,
"reqId": null,
"cost": 2072}
2.1.2 修改SQL任务
POST /job/v2/sql/modify
版本:3.9.10
描述:修改SQL类型的任务
URL参数/请求体
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| jobId | String | 任务id | 是 | |
| jobName | String | 任务名称 | 是 | |
| engineType | EngineTypeEnum | 引擎类型,枚举值 | 是 | |
| folderPath |
String | 保存的文件夹路径,为空:位于根目录,格式:aa/bb,最多支持两级目录 | 否 | |
| rawSql | String | sql语句,需要传入分割符 | 是 | |
| description | String | 任务描述 | 否 | |
| dependencyIds | Array<String> | 依赖文件id列表 | 否 | |
| paramSetInfo | Array<ParamSet> | 参数组依赖 | 否 | |
| jobTaskConfig | JobTaskConfig | 任务配置 | 否 | |
| jobResourceConfig | JobResourceConfig | 资源配置 | 否 | |
| alarmInfo | AlarmInfo | 告警配置 | 否 | 不传不会修改 |
请求示例:
{
"jobId": "104722",
"product": "sloth",
"clusterId": "dev4",
"user": "abc@example.com",
"jobName": "jarName",
"engineType": "FLINK1\_12\_0",
"folderPath": "/tmp/dir",
"rawSql": "this is sql",
"description": "sql job description",
"dependencyIds": \[
1,
2,
4
\],
"paramSetInfo" : \[
{
"id" : 1,
"priority" : 1
},
{
"id" : 2,
"priority" : 2
}
\],
"jobTaskConfig" : {
"checkpointSwitch" : true,
"checkpointMode" : "EXACTLY\_ONCE"
},
"jobResourceConfig" : {
"resourceInstanceName" : "sloth\_yarn\_cluster\_name",
"queueName" : "sloth\_queue\_name"
}}
返回示例:
{
"code": 0,
"msg": "success",
"result": null,
"requestId": null,
"reqId": null,
"cost": 2072}
2.1.3 获取任务信息
POST /job/v2/detail
版本:3.9.10
描述:获取最新版本任务信息
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| jobId | String | 任务id | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "dev4",
"jobId": 1000056}
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| jobBasicInfo | JobBasicInfo | 任务的基本信息 |
响应体示例:
{
"code": 0,
"msg": "success",
"result": {
"jobBasicInfo": {
"jobId": 1000056,
"jobName": "测试任务2-rename",
"jobType": "SQL",
"rawSql": "\[{\\"cellType\\":\\"flink.sql\\",\\"enable\\":true,\\"key\\":\\"743a695f-9099-11ec-ad7c-fa163ea49987\\",\\"source\\":\[\\"--SQL\\",\\"--\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*--\\",\\"--Author: 杨晓航\\",\\"--CreateTime: 2021-12-09 15:57:41\\",\\"--Comment: 请输入业务注释信息\\",\\"--\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*--\\",\\"CREATE TABLE user\_log (\\",\\"user\_id VARCHAR,\\",\\"item\_id VARCHAR,\\",\\"category\_id VARCHAR,\\",\\"behavior VARCHAR,\\",\\"ts VARCHAR\\",\\") WITH (\\",\\"'connector' = 'datagen'\\",\\"-- , 'number-of-rows' = '10'\\",\\");\\",\\"\\",\\"create table print\_table WITH ('connector' = 'print')\\",\\"LIKE user\_log (EXCLUDING ALL);\\",\\"\\",\\"insert into print\_table\\",\\"select \* from user\_log;\\"\],\\"title\\":\\"SQL\\"}\]",
"udfList": \[
{
"uid" : "xxxxxxxxxx"
"name": "udf\_function",
"className": "com.xxx.xx",
"resourceUid": "xxxxxxxxx",
"md5":"xxxxxx"
}
\],
"paramSetList": \[
{
"id" : 1,
"name" : "sloth\_param\_set\_1"
"priority" : 1,
},
{
"id" : 2,
"name" : "sloth\_param\_set\_2"
"priority" : 2,
}
\]
"fileList": \[\],
"creator": "abc@example.com",
"createTime": "2021-12-09T07:57:41.000+0000",
"publisher": "abc@example.com",
"env": 381,
"category": 351,
"tags": \[\],
"description": "xxxxxx",
"lastStartJobExecHistoryId": 2745,
"startExecId": 2036,
"lastResourceInstanceId": 1,
"jobStatus": "FAILED",
"applicationId": "",
"flinkUrl": "http://sloth-test2.dg.163.org:8088/proxy/application\_1645065290019\_0491/#/overview",
"monitorUrl": "http://sloth.bdms.netease.com/grafana/d/rZuGINgWk/sloth?orgId=1&var-jobAppKey=1000056&var-jobSource=sloth&from=1648028948000&to=1648696837704"
}
},
"requestId": dcaf583d,
"cost": 12}
2.1.4 删除任务
POST /job/v2/delete
版本:3.9.10
描述:删除调用方传入的任务列表
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| jobIds | String | 待删除的任务id集合,支持传入多个任务,任务id间用逗号分割 | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "dev4",
"jobIds": "1000074,1000071"}
响应体:
返回操作记录的id
{
"code": 0,
"msg": "success",
"result": 1354,
"requestId": dcaf583d,
"cost": 12}
2.1.5 启动任务
POST /job/v2/start
版本:3.9.10
描述:启动调用方传入的任务
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| jobInfos | Array<StartJobInfo> | 任务的启动信息 | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "dev4",
"jobInfos": \[
{
"jobId": 1000074,
"startMode": "NONE",
"statePath": "hdfs://dev4/user/sloth/sloth-fs-savepoints/spt/ckp-111"
}
\]}
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| results | Array<StartJobResult> | 启动任务的基本信息 |
响应体示例:
{
"code": 0,
"msg": "success",
"result": {
"results": \[
{
"jobId": 1000074,
"jobName": "testOpenApi",
"isSuccess": true,
"errorMessage": ""
}
\]
},
"requestId": "914abf5efc64444d92f92418e3c9840c",
"cost": 12}
2.1.6 停止任务
POST /job/v2/stop
版本:3.9.10
描述:停止调用方传入的任务
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| jobInfos | Array<StopJobInfo> | 任务的停止信息 | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "dev4",
"jobInfos": \[
{
"jobId": 1000096,
"triggerSavepoint": false
}
\]}
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| results | Array<StopJobResult> | 停止任务的基本信息 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"results": \[
{
"jobId": 1000096,
"jobName": "sqlOpenApiTest3",
"isSuccess": true,
"errorMessage": ""
}
\]
},
"requestId": "9483bdc3f6d84be7a74f26cb78bd4b6a",
"cost": 12}
2.1.7 重启任务
POST /job/v2/restart
版本:3.9.10
描述:重新启动调用方传入的任务
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| jobInfos | Array<RestartJobInfo> | 任务的重启信息 | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "dev4",
"jobInfos": \[
{
"jobId": 1000096,
"startMode": "NONE",
"statePath": "",
"triggerSavepoint": false
}
\]}
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| results | Array<RestartJobResult> | 重启任务的基本信息 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"results": \[
{
"jobId": 1000096,
"isSuccess": true,
"errorMessage": ""
}
\]
},
"requestId": "19cd594800684549aa420e100f241fc5",
"cost": 12}
2.1.8 获取任务当前状态
POST /job/v2/status
版本:3.9.10
描述:批量获取调用方传入任务的当前状态信息
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| jobIds | String | 待查询的任务id集合,支持传入多个任务,任务id间用逗号分割 | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "dev4",
"jobIds": "100056"}
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| jobStatusList | Array<JobStatus> | 重启任务的基本信息 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"jobStatusList": \[
{
"jobId": "1000056",
"jobStatus": "FAILED"
}
\]
},
"requestId": dcaf583d,
"cost": 12}
2.1.9 新建JAR任务
POST /job/v2/jar/create
版本:3.9.10
描述:创建SQL类型的任务
URL参数/请求体
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| user | String | 用户邮箱 | 是 | |
| jobName | String | 任务名称 | 是 | |
| envTag | String | 环境标签 | 否 | null |
| categoryTag | String | 类别标签 | 否 | null |
| engineType | EngineTypeEnum | 引擎类型,枚举值 | 是 | 13484000335 |
| folderPath |
String |
保存的文件夹路径,为空:位于根目录,格式:aa/bb,最多支持两级目录 | 否 | |
| description | String | 任务描述 | 否 | |
| dependencyIds | Array<String> | 依赖文件id列表 | 否 | |
| jobTaskConfig | JobTaskConfig | 任务配置 | 否 | |
| jobResourceConfig | JobResourceConfig | 资源配置 | 是 | 如果资源配置中设置了资源实例和队列, 可以不选. |
| alarmInfo | AlarmInfo | 告警配置 | 否 | 默认配置 |
| jarHdfs | String | jar任务的话需要传入hdfs路径 | 是 | |
| jarName | String | jar包名称 | 是 | |
| mainClass | String | jar任务主类 | 是 | |
| mainArgs | String | 配置参数 | 否 | 无 |
请求示例:
{
"product": "sloth",
"clusterId": "dev4",
"user": "abc@example.com",
"jobName": "jarName",
"engineType": "FLINK1\_12\_0",
"folderPath": "/tmp/dir",
"description": "sql job description",
"dependencyIds": \[
1,
2,
4
\],
"jobTaskConfig": {
"checkpointSwitch": true,
"checkpointMode": "EXACTLY\_ONCE"
},
"jobResourceConfig": {
"resourceInstanceName": "sloth\_yarn\_cluster\_name",
"queueName": "sloth\_queue\_name"
},
"jarHdfs": "hdfs://test/test",
"jarName": "test.jar",
"mainClass": "com.net.MainClass",
"mainArgs": "-- args"
}
返回示例:
| 名称 | 类型 | 描述 |
|---|---|---|
| jobId | Integer | 新创建任务的id |
{
"code": 0,
"msg": "success",
"result": {
"jobId":"104722"
},
"requestId": null,
"reqId": null,
"cost": 2072}
2.1.10 修改JAR任务
POST /job/v2/jar/modify
版本:3.9.15
描述:修改JAR类型的任务
URL参数/请求体
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| jobId | String | 任务id | 是 | |
| jobName | String | 任务名称 | 是 | |
| envTag | String | 环境标签 | 否 | null |
| categoryTag | String | 类别标签 | 否 | null |
| engineType | EngineTypeEnum | 引擎类型,枚举值 | 是 | |
| folderPath |
String | 保存的文件夹路径,为空:位于根目录,格式:aa/bb,最多支持两级目录 | 否 | |
| description | String | 任务描述 | 否 | |
| dependencyIds | Array<String> | 依赖文件id列表 | 否 | |
| jobTaskConfig | JobTaskConfig | 任务配置 | 否 | |
| jobResourceConfig | JobResourceConfig | 资源配置 | 否 | |
| alarmInfo | AlarmInfo | 告警配置 | 否 | 不传不会修改 |
| jarHdfs | String | jar任务的话需要传入hdfs路径 | 是 | |
| jarName | String | jar包名称 | 是 | |
| mainClass | String | jar任务主类 | 是 | |
| mainArgs | String | 配置参数 | 否 | 无 |
请求示例:
{
"jobId": "104722",
"product": "sloth",
"clusterId": "dev4",
"user": "abc@example.com",
"jobName": "jarName",
"engineType": "FLINK1\_12\_0",
"folderPath": "/tmp/dir",
"description": "sql job description",
"dependencyIds": \[
1,
2,
4
\],
"jobTaskConfig" : {
"checkpointSwitch" : true,
"checkpointMode" : "EXACTLY\_ONCE"
},
"jobResourceConfig" : {
"resourceInstanceName" : "sloth\_yarn\_cluster\_name",
"queueName" : "sloth\_queue\_name"
},
"jarHdfs": "hdfs://test/test",
"jarName": "test.jar",
"mainClass": "com.net.MainClass",
"mainArgs": "-- args"
}
返回示例:
{
"code": 0,
"msg": "success",
"result": null,
"requestId": null,
"reqId": null,
"cost": 2072
}
2.1.11 建立文件上传链接
POST /dev/v1/file/shard-upload/connect
版本:3.9.15
描述:建立文件上传前的初始化工作,包括分块等功能
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| fileMd5 | String | 文件MD5 | 是 | |
| fileName | String | 文件名 | 是 | |
| totalChunkNum | Number | 文件总数 | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "dev4",
"fileMd5": "903054ff6d80c555aa47f8d3bd83c77c",
"fileName": "Easystream-20230421-135940-0272.zip",
"totalChunkNum": 1
}
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| result | FileUploadResp | 文件传输基本返回体 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"fileMd5": "903054ff6d80c555aa47f8d3bd83c77c",
"fileName": "Easystream-20230421-135940-0272.zip",
"uuid": "e7689c9b80204b9e9d7c95fbe357cd03",
"nextChunkNum": 0,
"msg": null,
"status": 0
},
"requestId": null,
"reqId": null,
"cost": 0
}
2.1.12 文件分片上传
POST /dev/v1/file/shard-upload/do
版本:3.9.15
描述:将分片之后的文件分块上传到服务器
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| fileMd5 | String | 文件块MD5 | 是 | |
| uuid | String | 本次文件上传的唯一标识 | 是 | |
| fileName | String | 文件名 | 是 | |
| file | File | 当前要传的文件片 | 是 | |
| curChunkNum | Number | 当前块的切片序号 | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "dev4",
"fileMd5": "903054ff6d80c555aa47f8d3bd83c77c",
"uuid": "e7689c9b80204b9e9d7c95fbe357cd03",
"fileName": "Easystream-20230421-135940-0272.zip",
"curChunkNum": 0
}
二进制分块文件 file :(binary)
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| result | FileUploadResp | 文件传输基本返回体 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"fileMd5": "903054ff6d80c555aa47f8d3bd83c77c",
"fileName": "Easystream-20230421-135940-0272.zip",
"uuid": "e7689c9b80204b9e9d7c95fbe357cd03",
"nextChunkNum": 0,
"msg": null,
"status": 0
},
"requestId": null,
"reqId": null,
"cost": 0
}
2.1.13 获取文件上传状态
POST /dev/v1/file/shard-upload/status/get
版本:3.9.15
描述:将分片之后的文件分块上传到服务器
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| uuid | String | 本次文件上传的唯一标识 | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "dev4",
"fileMd5": "903054ff6d80c555aa47f8d3bd83c77c",
"uuid": "e7689c9b80204b9e9d7c95fbe357cd03",
"fileName": "Easystream-20230421-135940-0272.zip"
}
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| result | FileUploadResp | 文件传输基本返回体 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"fileMd5": "903054ff6d80c555aa47f8d3bd83c77c",
"fileName": "Easystream-20230421-135940-0272.zip",
"uuid": "e7689c9b80204b9e9d7c95fbe357cd03",
"nextChunkNum": 0,
"msg": null,
"status": 0,
"hdfsPath": "hdsf://usr/sloth/xxx",
},
"requestId": null,
"reqId": null,
"cost": 0
}
2.1.14 获取运维任务列表
GET /ops/v1/job/list
版本:3.9.17
描述:获取运维任务的列表
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| pageNum | Number | 当前页从1开始 | 否 | 1 |
| pageSize | Number | 页大小 | 否 | 25 |
| jobType | JobTypeEnum | 任务类型筛选项 | 否 | null |
| jobStatus | JobStatusEnum | 任务状态筛选项 | 否 | null |
| owner | String | 任务负责人筛选 | 否 | null |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "dev4",
"pageNum": 1,
"pageSize": 25,
"jobType": "SQL",
"jobStatus": "RUNNING",
"owner": "test@163.com"
}
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| data | Arrays<OpsJobBasicInfo> | 任务列表 |
| count | Number | 任务总数,如果有筛选情况则按照筛选的数据统计 |
| jobTypeSummary | Map<JobTypeEnum,Number> | 任务数统计,如果有筛选的情况则按照筛选的数据统计 |
响应体示例:
{
"code": 0,
"cost": 0,
"msg": "success",
"reqId": "",
"requestId": "733a841b54154592a578084706f6d39b",
"result": {
"data": \[
{
"jobId": 1111111133,
"jobName": "贵州Test-03",
"jobType": "JAR",
"jobStatus": "RUNNING",
"env": "test",
"category": "P0",
"owner": \[
{
"user": "abc@example.com",
"fullName": "xxx"
}
\],
"lastStartTime": "2023-08-22 11:16:30",
"vCore": 2.0,
"memory": 2.5,
"jobUrl": "http:xxxx"
}
\],
"jobTypeSummary": {
"JAR": 5,
"SQL": 3,
"CDC": 1
},
"count": 5
},
"success": true
}
2.1.15 获取任务当前运行的checkpoint
GET ops/v1/job/checkpoint/current-list
版本:3.9.17
描述:获取当前任务checkpoint列表
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| jobId | String | 任务唯一标识 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "xxxx",
"clusterId": "dev4",
"jobId": "123123"
}
响应体描述:
| 名称 | 类型 | 描述 | |
|---|---|---|---|
| result | data | Array<JobCurrentCheckpointInfo> | 查询结果: 同官方只展示最近10条数据. |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"count": 1,
"data": \[
{
"checkpointDisplayDuration": "125 ms",
"checkpointDisplaySize": "22.8 KB",
"checkpointDuration": 125,
"checkpointName": "45e54d8a8018101d38909ae0964f5ccb/chk-1",
"checkpointPath": "hdfs://xxxxxx/user/xxxx/sloth-fs-checkpoints/meta/1\_7/45e54d8a8018101d38909ae0964f5ccb/chk-1",
"checkpointSize": 23351,
"checkpointStatus": "COMPLETED",
"checkpointTime": "2023-08-28 14:20:22",
"jobExecId": "2748",
"jobId": "103755"
}
\]
},
"requestId": null,
"reqId": null,
"cost": 203
}
2.1.16 获取任务历史checkpoint
GET ops/v1/job/checkpoint/list
版本:3.9.17
描述:获取任务历史checkpoint
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| jobId | String | 任务唯一标识 | 是 | |
| pageNum | Interger | 当前页 | 否 | 1 |
| pageSize | Interger | 每页大小 | 否 | 25 |
| startTime | String | 开始时间 : 格式为yyyy-MM-dd HH:mm:ss | 否 | |
| endTIme | String | 开始时间 : 格式为yyyy-MM-dd HH:mm:ss | 否 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "xxxx",
"clusterId": "dev4",
"jobId": "123123",
"pageNum": 1,
"pageSize": 25,
}
响应体描述:
| 名称 | 类型 | 描述 | |
| result | count | Integer | 总条数 |
| data | Array<JobCheckpointInfo> | 查询结果 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"count": 1,
"data": \[
{
"checkpointDisplaySize":"31.73 KB",
"checkpointName":"57193cfcdc4d08a534d67a02bdd2bd2c/chk-10",
"checkpointPath":"hdfs://xxx/user/xxxx/sloth-fs-checkpoints/meta/1\_7/57193cfcdc4d08a534d67a02bdd2bd2c/chk-10",
"checkpointSize":32487,
"checkpointTime":"2023-08-24 20:30:39",
"jobExecId":2730,
"jobId":"103755"
}
\]
},
"requestId": null,
"reqId": null,
"cost": 203
}
2.1.17 获取任务历史savepoint
GET ops/v1/job/savepoint/list
版本:3.9.17
描述:获取任务历史savepoint
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| jobId | String | 任务唯一标识 | ||
| pageNum | Interger | 当前页 | 是 | 1 |
| pageSize | Interger | 每页大小 | 是 | 25 |
| startDate | String | 开始时间 : 格式为yyyy-MM-dd | 否 | |
| endDate | String | 开始时间 : 格式为yyyy-MM-dd | 否 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "xxxx",
"clusterId": "dev4",
"jobId": "123123",
"pageNum": 1,
"pageSize": 25,
}
响应体描述:
| 名称 | 类型 | 描述 | |
| result | count | Integer | 总条数 |
| data | Array<JobSavepointtInfo> | 查询结果 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"count": 1,
"data": \[
{
"jobExecId": "2730",
"jobId": "103755",
"savepointDisplaySize": "10 KB",
"savepointName": "57193cfcdc4d08a534d67a02bdd2bd2c/savepoint-57193c-1344de949652",
"savepointPath": "hdfs://xxxx/user/sloth/sloth-fs-savepoints/spt/57193cfcdc4d08a534d67a02bdd2bd2c/savepoint-57193c-1344de949652",
"savepointSize": 11113,
"savepointTime": "2023-08-24 20:30:44"
}
\]
},
"requestId": null,
"reqId": null,
"cost": 203
}
2.2 平台OpenAPI
2.2.1 获取用户
GET /platform/v2/getUserList
版本:3.9.16
描述:获取用户集合
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "dev4"
}
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| result | Array<UserInfo> | 无 |
响应体实例:
{
}
{
"code": 0,
"msg": "success",
"result": \[
{
"user":"abc@example.com",
"fullName":"张三"
}
\],
"requestId": "3d8a45dc",
"cost": 12
}
2.2.2 获取当前项目组下面已经初始化过的项目-集群列表
GET /dev/v3/platform/productGroup/productAndClusterList
版本:3.9.15
描述:获取当前项目组下面已经初始化过的项目-集群列表
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 邮箱 | 是 | |
| product | String | 项目 | 是 | |
| clusterId | String | 集群 | 是 | 无 |
请求示例:
user: abc@example.com
product: sloth
clusterId: hz10
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| product | String | 项目名称 |
| mammutClusterList | Array<ProductClusterVo> | 集群列表 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": \[
{
"product": "linna\_prd\_d",
"clusterIdList": \[
{
"clusterId": "dev4",
"clusterName": "开发集群"
}
\]
}
\],
"requestId": "3d8a45dc",
"cost": 12
}
2.3 血缘OpenAPI
2.3.1 血缘检索提示
POST /lineage/v2/search/tips
版本:3.9.16
描述:根据搜索类型模糊匹配获取血缘提示信息
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| keyword | String | 检索关键字 | 是 | |
| searchType | SearchTypeEnum | 检索类型 | 是 | |
| limit | Interger | 显示条数 | 否 | 25 |
请求示例:
{
"user": "abc@example.com",
"product": "xxxx",
"clusterId": "dev4"
"keyword":"sloth",
"searchType":"DATASOURCE\_NAME"
}
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| result | Array<LineageSearchTips> | 项目 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": \[
{
"product": "",
"catalog": "sloth\_api\_autotest\_catalog\_17",
"datasourceName": "",
"db": "",
"table": "",
"datasourceType": "kafka",
"searchType": "CATALOG",
"connectorUrl": "",
"clusterId": ""
}
\],
"requestId": null,
"reqId": null,
"cost": 169
}
2.3.2 血缘检索结果
POST /lineage/v2/search
版本:3.9.16
描述:根据搜索类型完全匹配获取血缘信息
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| searchType | SearchTypeEnum | 检索类型 | 是 | |
| catalog | String | 数据源标识 | 否 | |
| db | String | 数据库 | 否 | |
| table | String | 表名 (如果是topic检索, 返回的是topic名称, 流表和物理表检索的情况为表名, 其他情况该字段为空) | 否 | |
| connectorUrl | String | 连接信息的url | 否 | |
| searchProduct | String | 查询项目名称 | 否 | |
| searchClusterId | String | 查询集群标识[英文] | 否 | |
| owner | Array<String> | 任务负责人(邮箱) | 否 | |
| datasourceType | Array<DatasourceTypeEnum> | 数据源类型 | 否 | |
| jobStatus | Array<JobStatusEnum> | 任务状态 | 否 | |
| pageNum | Interger | 当前页 | 是 | 1 |
| pageSize | Interger | 每页大小 | 是 | 20 |
请求示例:
{
"user": "abc@example.com",
"product": "xxxx",
"clusterId": "dev4"
"searchType":"DATASOURCE\_NAME"
"catalog": "sloth\_api\_autotest\_catalog\_17",
"connectorUrl": "",
"datasourceType": \["kafka"\],
"db": "test",
"table": "sloth\_lineage\_kafka\_114",
"pageNum": 1,
"pageSize": 25,
"owner": \[\],
"jobStatus": \[\],
"searchProduct": "",
"searchMammutCluster": ""
}
响应体描述:
| 名称 | 类型 | 描述 | |
| result | count | Integer | 总条数 |
| data | Array<LineageSearch> | 查询结果 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"count": 1,
"data": \[
{
"product": "xxxx",
"jobId": "1548",
"jobName": "job\_xxxx",
"url": "http://xxxxxxxx",
"jobType": "SQL",
"jobStatus": "FAILED",
"version": "v3",
"owner": \[
{
"user": "abc@example.com",
"fullName": "xxxxxx"
}
\],
"referenceInfo": "非流表",
"clusterId": "easyops-cluster",
"clusterName": "easyops-cluster"
}
\]
},
"requestId": null,
"reqId": null,
"cost": 203
}
2.4 流表管理
流表管理主要涉及如下阶段:
根据数据源类型找到数据源列表。
根据数据源找到对应的物理表和物理库。
获取到支持的序列化方式(只有消息队列有)。
填入字段,kafka可以通过消息自动生成字段,关系型数据库可以根据访问数据源直接获取字段。
获取支持的配置列表,并填入需要的配置。
保存、删除、查看、列表查看。
2.4.1 获取流表库列表
GET /dev/v1/meta/databases/list
版本:3.9.15
描述:获取本项目下面流表库的列表
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| db | String | 流表库,模糊搜索 | 否 | null |
| publicDatabase | Boolean | 是否是公共流表库 | 是 | 无 |
请求示例:
db: a123
user: abc@example.com
product: mammut\_service
clusterId: easyops-cluster
publicDatabase: false
响应体描述:注意列表获取列表时字段信息不会返回
| 名称 | 类型 | 描述 |
|---|---|---|
| catalog | String | 流表库归属的catalog |
| db | String | 流表库名 |
| id | Number | 流表库id |
响应体实例:
{
"code": 0,
"msg": "success",
"result": \[
{
"catalog": "intern\_default\_catalog",
"db": "AA",
"id": 157
}
\],
"requestId": "b9fc7431"
}
2.4.2 登记流表库
POST /dev/v1/meta/databases/add
版本:3.9.15
描述:登记流表库(包含公共流表)
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| db | String | 库名 | 是 | |
| publicDatabase | boolean | 是否是公共流表库 | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "hz10",
"db": "test",
"publicDatabase": true
}
响应体实例:
{
"code": 0,
"msg": "success",
"result": null,
"requestId": "b9fc7431",
"cost": 12
}
2.4.3 获取流表列表
GET /dev/v1/meta/tables/list
版本:3.9.15
描述:建立文件上传前的初始化工作,包括分块等功能
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 用户邮箱 | 是 | |
| product | String | 项目名称 | 是 | |
| clusterId | String | 集群标识[英文] | 是 | |
| catalog | String | 归属catalog | 是 | |
| db | String | 流表库 | 是 | |
| table | String | 流表名称-搜索时用 | 否 | null |
| datasourceTypes | Array<DATASOURCE_TYPE> | 物理数据源类型,kafka,pulsar等 | 否 | null |
| pageNum | Number | 当前页从1开始 | 否 | 1 |
| pageSize | Number | 页大小 | 否 | 25 |
| availableTableTags | Arrays<TABLE_TYPE> | 流表可用类型标签 | 否 | null |
| publicTable | Boolean | 是否是公共流表 | 是 | |
| fromProduct | String | 筛选流表创建时的项目 | 否 | null |
| fromClusterId | String | 筛选流表创建时的集群 | 否 | null |
请求示例:
catalog: public\_xx\_default\_catalog
db: a123
table: dev
datasourceType: kafka
usedTableTagList: SINK\_TABLE
pageNum: 1
pageSize: 25
user: abc@example.com
product: mammut\_service
clusterId: easyops-cluster
fromCluster: dev4
fromProduct: sloth
响应体描述:注意列表获取列表时字段信息不会返回
| 名称 | 类型 | 描述 |
|---|---|---|
| count | Number | 数目 |
| data | Array<TableSimpleDetail> | 详情表 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"data": \[
{
"id": 2093,
"db": "lyb\_db",
"datasourceType": "kafka",
"catalog": "poc\_db",
"table": "t1",
"datasourceCatalog": "绑定数据源的catlaog",
"modifier":{"user":"abc@example.com","fullName":"lyb"}
"updateTime": "2023-05-19 15:26:47",
"availableTableTags": \[\],
"publicTable": true,
"fromProductCluster": "sloth-开发集群",
"publicRange": 1,
"publicProductAndCluster":\[
{
"product":"sloth",
"clusterId":"dev4",
"clusterName":"开发集群"
}
\]
}
\],
"count": 4
},
"requestId": "de61c920",
"cost": 12
}
2.4.4 登记流表
GET /dev/v1/meta/tables/add
版本:3.9.15
描述:登记流表功能
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 邮箱 | 是 | |
| product | String | 项目 | 是 | |
| clusterId | String | 集群 | 是 | |
| datasourceCatalog | String | 下拉选择数据源的catalog | 是 | |
| comments | String | 描述 | 否 | |
| db | String | 流表库名 | 是 | |
| esDocumentType | String | es版本,es数据源必填 | 否 | null |
| formatType | FORMATE_TYPE | 序列化方式 | 否 | null |
| physicsDB | String | 实际对应物理库,es数据类型填写default | 否 | null |
| physicsTable | String | 实际对应物理表,es数据类型填写index | 否 | null |
| owner | String | 责任人 | 否 | 创建者 |
| props | Array<MetaProp> | 配置信息 | 否 | 空数组 |
| fieldNodes | Array<FieldNode> | 表字段信息 | 是 | |
| table | String | 流表名称 | 是 | |
| topic | String | 消息队列需要的topic | 否 | null |
| dataourceType | DATASOURCE_TYPE | 表的数据源类型 | 是 | |
| availableTableTags | Array<TABLE_TYPE> | 表可用类型 | 否 | 空数组 |
| watermarkField | MetaProp | watermark字段 | 否 | null |
| delimiter | String | csv分割符 | 否 | null, |
| useableRange | Number | 可用范围0、代表本项目-集群,1、代表公共流表 | 是 | |
| publicRange | Number | 公开范围0、代表项目组内公开,1代表指定某个项目-集群 | 如果是公共流表则必传 | |
| publicProductAndCluster | Array<ProductClusterVo> | 公开的项目-集群列表,必填本项目-集群 | 公开范围 | 无 |
请求示例:
{
"db": "lyb\_db",
"table": "test",
"owner": "",
"comments": "",
"datasourceType": "kafka",
"datasourceCatalog": "sloth\_hz8\_default\_catalog",
"topic": "te",
"formatType": "json",
"fields": \[\],
"fieldNodes": \[
{
"columnName": "a",
"columnType": "timestamp",
"columnEditEnable": false,
"description": "",
"children": \[\],
"id": "98731e90-f619-11ed-ab05-037bad55ad9f",
"primaryKey": false,
"timeDegree": 3,
"columvalue":""
}
\],
"paramGetMethod": "AUTO",
"physicsDB": "",
"physicsTable": "",
"props": \[
{
"name": "key.format",
"value": "test"
}
\],
"availableTableTags": \[
"SOURCE\_TABLE"
\],
"esDocumentType": "",
"datasourceName": "sloth\_hz8\_default\_catalog",
"externalConf": {
"topic": "te",
"delimiter": ","
},
"watermarkField": {
"name": "a",
"value": "AS {selected\_column}",
"desc": "",
"timeUnit": ""
},
"user": "abc@example.com",
"product": "sloth",
"clusterId": "hz10",
"useableRange": 1,
"publicRange": 1,
"publicProductAndCluster":\[
{
"product":"sloth",
"clusterId":"dev4"
}
\]
}
响应体实例:
{
"code": 0,
"msg": "success",
"result": null,
"requestId": "93c20eb1",
"cost": 12
}
2.4.5 更新流表
POST /dev/v1/meta/tables/update
版本:3.9.15
描述:登记流表功能
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 邮箱 | 是 | |
| product | String | 项目 | 是 | |
| id | Number | 流表的id | 是 | |
| catalog | String | 下拉数据源的catalog | 是 | |
| comments | String | 描述 | 否 | null |
| db | String | 流表库名 | 是 | |
| esDocumentType | String | es版本 | 否 | null |
| formatType | FORMATE_TYPE | 序列化方式 | 否 | null |
| clusterId | String | 项目的集群 | 是 | |
| physicsDB | String | 实际对应物理库针对数据库才有 | 否 | null |
| physicsTable | String | 实际对应物理表针对数据库才有 | 否 | null |
| owner | String | 责任人 | 否 | 创建者 |
| props | Array<MetaProp> | 配置信息 | 否 | 空数组 |
| fieldNodes | Array<SlothFieldNode> | 表字段信息 | 是 | |
| table | String | 流表名称,不可变更 | 是 | |
| topic | String | 消息队列需要的topic | 否 | null |
| dataourceType | DATASOURCE_TYPE | 表的数据源类型 | 是 | |
| availableTableTags | Arrat<TABLE_TYPE> | 表可用类型 | 否 | 空数组 |
| watermarkField | MetaProp | watermark字段 | 否 | null |
| delimiter | String | csv分割符 | 否 | , |
| useableRange | Number | 可用范围0、代表本项目-集群,1、代表公共流表 | 是 | |
| publicRange | Number | 公开范围0、代表项目组内公开,1代表指定某个项目-集群 | 如果是公共流表则必传 | |
| publicProductAndCluster | Array<ProductClusterVo> | 公开的项目-集群列表,必填本项目-集群 | ||
| targetDb | String | 更新后的DB名称 | ||
| streamTableCatalog | String | 流表的catalog | 无 |
请求示例:
{
"id": 2234,
"db": "lyb\_db",
"table": "t2",
"owner": "",
"comments": "",
"dataourceType": "kafka",
"catalog": "sloth\_api\_autotest\_catalog",
"topic": "easy\_access\_audit",
"formatType": "json",
"fieldNodes": \[
{
"columnName": "a",
"columnType": "timestamp",
"columnEditEnable": false,
"description": "",
"children": \[\],
"id": "98731e90-f619-11ed-ab05-037bad55ad9f",
"primaryKey": false,
"timeDegree": 3,
"columvalue":""
}
\],
"physicsDB": "",
"physicsTable": "",
"props": \[\],
"availableTableTags": \[
"SOURCE\_TABLE"
\],
"esDocumentType": "",
"datasourceName": "sloth\_api\_autotest\_catalog",
"creator": "abc@example.com",F
"modifier": "abc@example.com",
"createTime": "2023-04-19 15:44:49",
"updateTime": "2023-04-19 15:51:19",
"clusterId": "hz10",
"datasourceId": null,
"watermarkField": {
"name": "",
"value": "",
"desc": "",
"timeUnit": ""
},
"delimiter": ",",
"user": "abc@example.com",
"product": "sloth",
"useableRange": 1,
"publicRange": 1,
"publicProductAndCluster":\[
{
"product":"sloth",
"clusterId":"dev4",
}
\],
"targetDb": "testDb",
"streamTableCatalog": "public\_test\_default\_catalog"
}
响应体实例:
{
"code": 0,
"msg": "success",
"result": null,
"requestId": "93c20eb1",
"cost": 12
}
2.4.6 删除流表
POST /dev/v1/meta/tables/delete
版本:3.9.15
描述:删除流表
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 邮箱 | 是 | |
| product | String | 项目 | 是 | |
| clusterId | String | 集群 | 是 | |
| catalog | String | 流表归属的catalog,不是绑定的数据源catalog注意不要传错 | 是 | |
| db | String | 流表库名 | 是 | |
| table | String | 流表名称 | 是 | 无 |
请求示例:
{
"user": "abc@example.com",
"product": "sloth",
"clusterId": "hz10",
"db": "test",
"table": "t1",
"catalog": "public\_xx\_default\_catalog"
}
响应体实例:
{
"code": 0,
"msg": "success",
"result": null,
"requestId": "93c20eb1",
"cost": 12
}
2.4.7 获取流表详情
GET /dev/v1/meta/tables/get
版本:3.9.15
描述:流表详情获取
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 邮箱 | 是 | |
| product | String | 项目 | 是 | |
| clusterId | String | 集群 | 是 | |
| catalog | String | catalog | 是 | |
| db | String | 流表库名 | 是 | |
| table | String | 流表名称 | 是 | 无 |
请求示例:
catalog: xx\_default\_catalog
db: lyb\_db
table: t1
user: abc@example.com
product: sloth
clusterId: hz10
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| result | TableDetail | 详情表 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"id": 2268,
"userId": null,
"product": null,
"db": "lyb\_db",
"datasourceType": "mysql",
"table": "mysql2",
"catalog": "mysql\_cdc\_test",
"formatType": null,
"delimiter": ",",
"topic": null,
"comments": "",
"creator": {"user":"abc@example.com","fullName":"lyb"},
"modifier": {"user":"abc@example.com","fullName":"lyb"},
"createTime": "2023-04-20 10:56:33",
"updateTime": "2023-04-20 10:56:33",
"datasourceName": "mysql\_cdc\_test",
"fieldNodes": \[
{
"columnName": "a",
"columnType": "timestamp",
"columnEditEnable": false,
"description": "",
"children": \[\],
"primaryKey": false,
"timeDegree": 3,
"columvalue":"",
"decimalType": ""
}
\],
"clusterId": null,
"props": \[
{
"name": "isCDC",
"value": "true",
"desc": null,
"timeUnit": null
}
\],
"datasourceId": null,
"availableTableTags": \[\],
"watermarkField": {
"name": "",
"value": "",
"desc": "",
"timeUnit": ""
},
"metahubPhysicsDb": "demo",
"metahubPhysicsTable": "products",
"esDocumentType": "",
"useableRange": 1,
"publicRange": 1,
"publicProductAndCluster":\[
{
"product":"sloth",
"clusterId":"dev4",
}
\],
"groupId": "test\_group",
"streamTableCatalog": "public\_test\_default\_catalog",
"usedByJob": false,
"sourceTableName": "db.table",
"hasNewVersion": false,
"subscribeSourceTable": true
},
"requestId": "ebc0971b"
}
2.4.8 获取指定类型的数据源列表
GET /dev/v1/meta/datasources/type/list
版本:3.9.15
描述:根据数据源类型获取
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 邮箱 | 是 | |
| product | String | 项目 | 是 | |
| clusterId | String | 集群 | 是 | |
| datasourceType | String | 数据源类型 | 是 | |
| pageNum | Number | 分页页码从1开始 | 否 | 1 |
| pageSize | Number | 分页大小 | 否 | 25 |
| datasourceName | String | 搜索关键词 | 否 | null |
请求示例:
pageSize: 50
keyword: test
pageNum: 1
dsType: mysql
user: abc@example.com
product: sloth
clusterId: hz10
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| datasourceType | String | 数据源类型 |
| catalog | String | 数据源的catalog |
| name | String | 数据源名称 |
| id | Number | 数据源id |
| productId | Number | 项目id |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"pageNum": 1,
"pageSize": 50,
"total": 97,
"items": \[
{
"datasourceType": "mysql",
"catalog": "physical\_mysql2",
"name": "狗粮计划\_印度",
"id": 3406,
"productId": 334,
}
\]
},
"requestId": null,
"reqId": null,
"cost": 0
}
2.4.9 获取指定数据源下面的物理库列表
GET /dev/v1/meta/physics/db/list
版本:3.9.15
描述:根据数据源类型获取
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 邮箱 | 是 | |
| product | String | 项目 | 是 | |
| clusterId | String | 集群 | 是 | |
| catalog | String | 数据源catalog | 是 | |
| pageNum | Number | 分页页码从1开始 | 是 | |
| pageSize | Number | 分页大小 | 是 | |
| db | Number | 搜索关键词 | 否 | null |
请求示例:
pageSize: 50
keyword: test
pageNum: 1
catalog: guomao_test_ingestion_catalog
user: abc@example.com
product: sloth
clusterId: hz10
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| catalog | String | 数据源catalog |
| db | String | 数据库名称 |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"data": \[
{
"catalog": "guomao\_standby\_test\_catalog",
"db": "APEX\_030200"
}
\]
},
"requestId": null,
"reqId": null,
"cost": 0
}
2.4.10 获取指定数据源和库下面所有的表
GET /dev/v3/meta/physics/tables/list
版本:3.9.15
描述:根据数据源类型获取
URL参数/请求体:
| 名称 | 类型 | 描述 | 是否必传 | 默认值 |
|---|---|---|---|---|
| user | String | 邮箱 | 是 | |
| product | String | 项目 | 是 | |
| clusterId | String | 集群 | 是 | |
| catalog | String | 数据源catalog | 是 | |
| db | String | 数据库名称 | 是 | |
| pageNum | Number | 分页页码从1开始 | 是 | |
| pageSize | Number | 分页大小 | 是 | |
| table | String | 搜索关键词 | 否 | 无 |
请求示例:
catalog: guomao_standby_test_catalog
db: APPQOSSYS
pageNum: 1
pageSize: 50
table: test:
user: abc@example.com
product: sloth
clusterId: hz10
响应体描述:
| 名称 | 类型 | 描述 |
|---|---|---|
| table | String | 表名 |
| db | String | 库名 |
| catalog | String | 数据源catalog名称 |
| id | Number | 表id |
响应体实例:
{
"code": 0,
"msg": "success",
"result": {
"data": \[
{
"table": "WLM\_CLASSIFIER\_PLAN",
"id": 0,
"db": "APPQOSSYS",
"catalog": "guomao\_standby\_test\_catalog",
}
\]
},
"requestId": null,
"reqId": null,
"cost": 0
}