本文为您介绍的是“数据集同步任务类的 Open API”,您将了解到用户可以通过 API 进行查看、更新数据集同步任务设置,提交数据集同步任务回溯以及终止数据集同步任务实例等操作。
注意:在您使用本文所述的 API 前,还需完成接入 JWT-Token 和申请 Token 的前置操作,请先了解调用方式,详情可阅读调用方式。
权限需求
资源 | 权限 |
---|---|
数据集 | read |
接口描述与说明:查看数据集的同步任务设置,包含同步模式,性能参数等等。
{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncSettings
curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncSettings' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}'
参数 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 123 | 数据集 ID |
参数 | 类型 | 描述 |
---|---|---|
$.backtrackingConf | object | 数据集回溯配置 |
$.backtrackingConf.dateRange | object | 数据集首次创建后的默认回溯周期 |
$.backtrackingConf.dateRange.endDate | string | 回溯开始时间 |
$.backtrackingConf.dateRange.startDate | string | 回溯结束时间 |
$.doradoPriority | string | 同步任务优先级 |
$.monitorConf | object | 数据集同步监控告警配置 |
$.paramsConfList | object | 数据集同步高级参数 |
$.performanceSettings | object | 同步性能设置 |
$.retryInterval | integer | 数据集单次任务同步失败重试间隔 |
$.scheduleDay | string | 同步定时-天 |
$.scheduleTime | string | 同步定时-小时 |
$.retryNum | integer | 数据集单次任务同步失败重试次数 |
$.syncType | integer | 数据集任务同步类型 [手动,自动] |
$.writePartition | integer | 数据集同步数据写入分区 |
$.ttl | integer | 数据集数据保存生命周期(天) |
{ "code": "aeolus/ok", "data": { "backtrackingConf": { "dateRange": { "endDate": "2022-12-13", "startDate": "2022-12-13" }, "enable": 1 }, "doradoPriority": "normal", "frequency": "daily", "monitorConf": { "alarmRules": [ { "failedAlarmItems": [ { "item": "retry_failed" } ], "id": 6***, "name": "auto_aeolus_rule_{{dataSetId}}_16***********_dev", "normalNoticeConf": [ { "dutySchedules": [], "noticeChannel": "lark", "users": [ "userEmailPrefix" ] } ], "resultAlarmItems": [], "timeoutAlarmItems": [] } ] }, "paramsConfList": [ { "name": "tqs.query.auto.retry.enable", "value": "true" } ], "performanceSettings": { "chQueryParams": {}, "clusterName": "cnch_alpha_lq", "cnchVwDefault": "vw_default", "cnchVwWrite": "vw_write", "driverName": "click_house", "partitionKey": [ "p_date" ], "primaryKeyList": [], "sampleKey": null, "sampleRate": 1.0, "shardKey": null }, "retryInterval": 5, "retryNum": 1, "scheduleDay": "0", "scheduleTime": "00:00", "scheduleTimeType": 0, "slaDaytime": null, "slaStatus": 0, "syncType": 1, "ttl": 7, "upstreamSettings": { "dynamicPartitionConfList": [], "dynamicPartitionMode": false, "partitionConfList": [], "uniqueIndexList": [] }, "writePartition": 0, "yarnName": "root.default_hrtech_da_pm" }, "msg": "成功" }
权限需求
资源 | 权限 |
---|---|
数据集 | write |
接口描述与说明:此接口所更新的内容等价于数据集详情页前端的同步配置信息->同步频率内容的修改。
本接口为全量更新接口,必须在请求时将所有的配置信息填写。
{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncSettings
curl --location --request PUT '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncSettings' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}' \ --data-raw '{ "dataTableConf": { "ttl": 8 }, "syncConf": { "syncType": 1, "scheduleConf": { "frequency": "daily", "scheduleDay": "0", "scheduleTime": "00:00" } } }'
参数 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 123 | 数据集 ID |
$.dataTableConf.ttl | integer | 是 | 7 | 数据集生命周期 |
$.syncConf.syncType | integer | 是 | 1; 2 | 数据集同步调度模式 [1 为自动, 2 为手动] |
$.syncConf.scheduleConf | object | 是 | 同步调度 conf | |
$.syncConf.scheduleConf.frequency | string | 是 | hourly | 自动调度同步时,可分为天级、小时级、分钟级、月级、周级同步 |
$.syncConf.scheduleConf.scheduleDay | string | 是 | 0 | 自动同步设定天数,第几天开始同步,daily 下 0 代表每天都同步 |
$.syncConf.scheduleConf.scheduleTime | string | 是 | 00:00 | 自动同步设定小时,一天中第几个小时开始同步 |
{ "code": "aeolus/ok", "data": "{{dataSetId}}", "msg": "成功" }
权限需求
资源 | 权限 |
---|---|
数据集 | write |
接口描述与说明:更新数据集同步设置中的高级设置,对应数据集前端的同步配置信息->高级配置。
本接口为全量更新接口,必须在请求时将所有的配置信息填写。
请求地址:{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncSettings/advanced
curl --location --request PUT '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncSettings/advanced' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}' \ --data-raw '{ "yarnName": "root.default_hrtech_da_pm", "doradoPriority": "normal", "retryNum": 3, "retryInterval": 5 }'
参数 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 123 | 数据集 ID |
doradoPriority | integer | 是 | normal | 数据集同步优先级 |
retryNum | integer | 是 | 1 | 数据集同步失败重试次数 |
retryInterval | integer | 是 | 5 | 数据集同步失败重试间隔时间 (分钟) |
{ "code": "aeolus/ok", "data": null, "msg": "成功" }
权限需求
资源 | 权限 |
---|---|
数据集 | read |
接口描述与说明:查看数据集的同步任务列表,包含业务日期,同步状态,同步时间等等。
{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncJob
curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncJob?startDate=2022-12-13&endDate=2022-12-15&nodeId' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}'
参数 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 123 | 数据集 ID |
startDate | string | 是 | 2022-12-07 | 同步任务业务日期范围-开始时间 |
endDate | string | 是 | 2022-12-11 | 同步任务业务日期范围-截止时间 |
nodeId | string | 否 | af2f28ea-f96a-49f9-ac99-7587364df5f4 | 维度表的同步任务列表 |
参数 | 类型 | 描述 |
---|---|---|
bizTime | string | 数据集回溯配置 |
bizTimePage | string | 数据集首次创建后的默认回溯周期 |
diagPageUrl | string | 同步任务诊断页面 URL |
instanceDurationTime | string | 同步任务实例同步持续时间 |
instanceId | integer | 同步任务实例 ID |
logPageUrl | string | 同步任务实例日志 URL |
scheduledStartTime | string | 同步任务实例开始时间 |
syncEndTime | string | 同步任务实例结束时间 |
tableSize | integer | 同步任务实例同步数据尺寸 |
syncStatus | integer | 同步任务实例状态 |
{ "code": "aeolus/ok", "data": { "instanceList": [ { "bizTime": "2022-12-15 00:00:00", "bizTimePage": "2022-12-15", "diagPageUrl": "https://data.bytedanc*.net/dorado/instance-detail/diagnosis?project=cn_756&id=108301911&schedule=2022-12-15%2000%3A00%3A00&pid=756&status=2&instanceId=1324365220&groupName=cn", "instanceDurationTime": null, "instanceId": 1324365220, "instanceSign": "8332ea1af3a3d960**************", "logPageUrl": "https://data.bytedanc*.net/dorado/instance-detail/log?project=cn_7**&id=1********&schedule=2022-12-15%2000%3A00%3A00&pid=7**&instanceId=1324365220&groupName=cn", "scheduledStartTime": "2022-12-16 00:00:00", "syncEndTime": null, "syncStartTime": null, "syncStatus": 2, "syncStatusDescCode": 3, "tableSize": "-", "taskId": 9178 }, { "bizTime": "2022-12-14 00:00:00", "bizTimePage": "2022-12-14", "diagPageUrl": "https://data.bytedanc*.net/dorado/instance-detail/diagnosis?project=cn_756&id=108******&schedule=2022-12-14%2000%3A00%3A00&pid=756&status=4&instanceId=132*******&groupName=cn", "instanceDurationTime": 501.0, "instanceId": 1322531180, "instanceSign": "b1285**************", "logPageUrl": "https://data.bytedanc*.net/dorado/instance-detail/log?project=cn_756&id=108******&schedule=2022-12-14%2000%3A00%3A00&pid=756&instanceId=132*******&groupName=cn", "scheduledStartTime": "2022-12-15 00:00:00", "syncEndTime": "2022-12-15 00:33:29", "syncStartTime": "2022-12-15 00:25:08", "syncStatus": 4, "syncStatusDescCode": 30, "tableSize": "56", "taskId": 9*** }, { "bizTime": "2022-12-13 00:00:00", "bizTimePage": "2022-12-13", "diagPageUrl": "https://data.bytedanc*.net/dorado/instance-detail/diagnosis?project=cn_756&id=108301911&schedule=2022-12-13%2000%3A00%3A00&pid=7**&status=4&instanceId=132*******&groupName=cn", "instanceDurationTime": 1197.0, "instanceId": 1322222925, "instanceSign": "af3a3d960**************", "logPageUrl": "https://data.bytedanc*.net/dorado/instance-detail/log?project=cn_756&id=108*******&schedule=2022-12-13%2000%3A00%3A00&pid=7**&instanceId=132*******&groupName=cn", "scheduledStartTime": "2022-12-14 00:00:00", "syncEndTime": "2022-12-14 12:38:57", "syncStartTime": "2022-12-14 12:19:00", "syncStatus": 4, "syncStatusDescCode": 30, "tableSize": "56", "taskId": 9178 } ], "total": 3 }, "msg": "成功" }
数据集任务实例状态示例值定义。
syncStatus 值 | 实例状态 |
---|---|
1 | 未就绪 |
2 | 等待执行 |
3 | 执行中 |
4 | 运行成功 |
5 | 运行失败 |
6 | 已终止 |
权限需求
资源 | 权限 |
---|---|
数据集 | write |
接口描述与说明:批量提交同步任务实例,实现数据回溯。
注意回溯日期时间段可选择范围,应小于等于数据集的数据生命周期(ttl)
{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncJob
curl --location --request POST '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncJob' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}' \ --data-raw '{ "nodeId": "", "startDate": "2022-12-07", "endDate": "2022-12-11", "checkMinMax": true, "skipCheck": true, "isSpecifyQueue": true, "queueName": "root.oryx_aeolus_vip", "maxParallelism": 10 }'
参数 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
dataSetId | integer | 是 | 123 | 数据集 ID |
nodeId | string | 否 | af2f28ea-f96a-49f9-ac99-7587364df5f4 | 如不指定则默认回溯主表的数据;如填入则回溯维度表的数据 |
startDate | string | 是 | 2022-12-07 | 同步任务业务日期范围-回溯开始时间 |
endDate | string | 是 | 2022-12-11 | 同步任务业务日期范围-回溯截止时间 |
checkMinMax | bool | 否 | true | 检查同步分区范围是否超出限制 |
skipCheck | bool | 否 | true | 跳过依赖检查 |
isSpecifyQueue | bool | 否 | true | 是否制定队列回溯(非 TOB 环境) |
queueName | string | 否 | root.oryx_aeolus_vip | 指定的队列名称(非 TOB 环境) |
maxParallelism | integer | 否 | 10 | 当前同步任务的实例最大的行数,主要用于批量回溯时,防止所有回溯实例同一时刻被全部调起进入执行 |
{ "code": "aeolus/ok", "data": "ok", "msg": "成功" }
权限需求
资源 | 权限 |
---|---|
数据集 | write |
接口描述与说明:批量终止任务实例,2.60.0 版本可用。
{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/stopSyncJob
curl --location --request POST '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/stopSyncJob' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}' \ --data-raw '{ "instanceList": [ { "id": 226*******, "taskTime": "2023-12-25 00:00:00", "sign": "" }, { "id": 226*******, "taskTime": "2023-12-24 00:00:00" } ], "nodeId": "" }'
参数 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
$.nodeId | string | 否 | af2f28ea-f96a-49f9-ac99-7587364df5f4 | 如不指定则默认终止主表任务实例;如填入则终止维度表任务实例 |
$.instanceList | object | 是 | 终止实例范围 | |
$.instanceList.id | string | 是 | 2263796858 | 终止任务实例的 ID,可从查看数据集同步任务状态信息接口里的 instanceId 获取 |
$.instanceList.taskTime | string | 是 | 2023-12-25 00:00:00 | 终止任务实例的业务日期,可从查看数据集同步任务状态信息接口里的 bizTime 获取 |
$.instanceList.sign | string | 是 | f2244702cb94ef3d405f60985b421835 | 同步任务实例签名,可从查看数据集同步任务状态信息接口里的 instanceSign 获取 |
{ "code": "aeolus/ok", "data": "ok", "msg": "成功" }
资源 | 权限 |
---|---|
数据集 | read |
{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/instanceInfo
curl --location --request POST '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/instanceInfo' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{jwtToken}}' \ --data-raw '{"instance_id_list": [94]}'
参数 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
instance_id_list | array | 是 | ["2263796858"] | 同步任务实例 ID 集合,实例 ID 可从查看数据集同步任务状态信息接口里的 instanceId 获取 |
名称 | 类型 | 描述 |
---|---|---|
id | integer | 同步任务实例 ID |
scheduleTaskId | integer | 同步任务 ID |
subTaskId | integer | 同步任务输出节点 ID |
taskId | integer | 同步任务 PrepID |
appExternalId | string | yarn 任务 ID |
createTime | string | 同步任务实例创建时间 |
taskTime | string | 同步任务实例业务日期 |
startTime | string | 同步任务实例开始时间 |
endTime | string | 同步任务实例结束时间 |
scheduleTime | string | 同步任务实例调度时间 |
status | string | 同步任务实例状态 |
triggerType | string | 同步任务实例触发类型,有 SCHEDULED(例行)/BACKFILL(回溯) |
{ "code": "aeolus/ok", "data": [ "id": 94, "scheduleTaskId": 3, "subTaskId": 2, "taskId": 1, "appExternalId": "application_17***********_****", "createTime": "2024-02-23 23:00:00", "taskTime": "2024-02-23 20:00:00", "startTime": "2024-02-24 00:01:01", "endTime": "2024-02-24 00:02:01", "scheduleTime": "2024-02-24 00:00:00", "status": "SUCCEEDED", "triggerType": "BACKFILL" ] "msg": "成功" }