实时计算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
}