You need to enable JavaScript to run this app.
导航

数据集同步任务 API

最近更新时间2024.03.15 15:26:35

首次发布时间2024.03.15 14:51:16

1. 概述

数据集 Open API 包含了:数据集操作 API、数据集信息 API、数据集维度指标与血缘关系 API、数据集同步任务 API、数据集可视化查询参数与开放查询 API、数据集模型画布与运维类工具 API、项目内数据集 API。
本文为您介绍的是“数据集同步任务类的 Open API”,您将了解到用户可以通过 API 进行查看、更新数据集同步任务设置,提交数据集同步任务回溯以及终止数据集同步任务实例等操作。
注意:在您使用本文所述的 API 前,还需完成接入 JWT-Token 和申请 Token 的前置操作,详情可阅读数据集 Open API 概述

2. 接口说明
  • 新接口 V4 版本采用标准的 restful 接口命名方式,即资源+行为的命名方式。

  • 针对每个接口提供直接可以导入 postMan 的 cURL 示例,方便客户体验,由于各环境 DataWind 域名和各个请求中都含有通用含义的变量,因此各接口的 cURL 实例中均采用{{}}包裹变量,{{变量}}格式可直接被 postMan 识别。

  • 变量对照含义表:

jwtToken -> {{jwtToken}}
aeolus 域名 -> {{domain}} 
项目 ID -> {{appId}} 
数据集 ID -> {{dataSetId}} 
数据集标签 Id {{tagId}}
数据集文件夹 Id {{dataSetFolderId}}
  • 本功能适用的版本: 2.48.0及以上
3. 接口介绍

3.1 查看数据集同步任务设置

  • 权限需求

    资源权限
    数据集read
  • 接口描述与说明查看数据集的同步任务设置,包含同步模式,性能参数等等.

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncSettings

  • cURL示例

    curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncSettings' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer {{jwtToken}}'
    
  • 入参说明

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
  • 出参说明

    名称类型含义说明
    $.backtrackingConfobject数据集回溯配置
    $.backtrackingConf.dateRangeobject数据集首次创建后的默认回溯周期
    $.backtrackingConf.dateRange.endDatestring回溯开始时间
    $.backtrackingConf.dateRange.startDatestring回溯结束时间
    $.doradoPrioritystring同步任务优先级
    $.monitorConfobject数据集同步监控告警配置

    $.paramsConfList

    object

    数据集同步高级参数

    $.performanceSettings

    object

    同步性能设置

    $.retryIntervalinteger数据集单次任务同步失败重试间隔
    $.scheduleDaystring同步定时-天
    $.scheduleTimestring同步定时-小时
    $.retryNuminteger数据集单次任务同步失败重试次数
    $.syncTypeinteger数据集任务同步类型 [手动,自动]
    $.writePartitioninteger数据集同步数据写入分区
    $.ttlinteger数据集数据保存生命周期(天)
    {
        "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": 6826,
                        "name": "auto_aeolus_rule_{{dataSetId}}_1670991481739_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": "成功"
    }
    
  • 备注

3.2 更新数据集同步任务设置

  • 权限需求

    资源权限
    数据集write
  • 接口描述与说明此接口所更新的内容等价于数据集详情页前端的同步配置信息->同步频率内容的修改
      本接口为全量更新接口,必须在请求时将所有的配置信息填写

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncSettings

  • cURL示例

    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"
            }
        }
    }'
    
  • 入参说明

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
    $.dataTableConf.ttlinteger数据集生命周期
    $.syncConf.syncTypeinteger1; 2数据集同步调度模式 [1为自动, 2为手动]
    $.syncConf.scheduleConfobject同步调度conf

    $.syncConf.scheduleConf.frequency

    string

    hourly
    daily
    weekly
    monthly
    every_ten_minutes

    自动调度同步时,可分为天级、小时级、分钟级、月级、周级同步

    $.syncConf.scheduleConf.scheduleDay

    string

    自动同步设定天数,第几天开始同步,daily下0代表每天都同步
    当frequency为小时级或分钟级时
    scheduleDay则为小时级,即第几个小时开始同步

    $.syncConf.scheduleConf.scheduleTime

    string

    自动同步设定小时,一天中第几个小时开始同步
    当frequency为小时级或分钟级时
    scheduleTime则为分钟级,即第几分钟开始同步

  • 出参说明

    {
        "code": "aeolus/ok",
        "data": "{{dataSetId}}",
        "msg": "成功"
    }
    
  • 备注

3.3 更新数据集同步任务设置-高级设置

  • 权限需求

    资源权限
    数据集write
  • 接口描述与说明更新数据集同步设置中的高级设置,对应数据集前端的同步配置信息->高级配置.
      本接口为全量更新接口,必须在请求时将所有的配置信息填写

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncSettings/advanced

  • cURL示例

    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
    }'
    
  • 入参说明

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
    yarnNamestring数据集同步使用的队列(非TOB环境)

    doradoPriority

    integer

    normal
    high
    super_high

    数据集同步优先级

    retryNuminteger数据集同步失败重试次数
    retryIntervalinteger数据集同步失败重试间隔时间
  • 出参说明

    {
        "code": "aeolus/ok",
        "data": null,
        "msg": "成功"
    }
    
  • 备注

3.4 查看数据集同步任务状态信息

  • 权限需求

    资源权限
    数据集read
  • 接口描述与说明查看数据集的同步任务列表,包含业务日期,同步状态,同步时间等等。

  • 接口路径

{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncJob

  • cURL示例

    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}}'
    
  • 入参说明

    名称类型必选枚举值含义说明
    dataSetIdinteger数据集ID
    startDatestring同步任务业务日期范围-开始时间
    endDatestring同步任务业务日期范围-截止时间

    nodeId

    维度表的同步任务列表

  • 出参说明

    名称类型含义说明
    bizTimestring数据集回溯配置
    bizTimePagestring数据集首次创建后的默认回溯周期
    diagPageUrlstring同步任务诊断页面URL
    instanceDurationTimestring同步任务实例同步持续时间
    instanceIdinteger同步任务实例ID
    logPageUrlstring同步任务实例日志URL
    scheduledStartTimestring同步任务实例开始时间
    syncEndTimestring同步任务实例结束时间
    tableSizeinteger同步任务实例同步数据尺寸
    syncStatusinteger同步任务实例状态
    {
        "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": "8332ea1af29fcb489deedb5d9b7d758a",
                    "logPageUrl": "https://data.bytedanc*.net/dorado/instance-detail/log?project=cn_756&id=108301911&schedule=2022-12-15%2000%3A00%3A00&pid=756&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=108301911&schedule=2022-12-14%2000%3A00%3A00&pid=756&status=4&instanceId=1322531180&groupName=cn",
                    "instanceDurationTime": 501.0,
                    "instanceId": 1322531180,
                    "instanceSign": "b12851919cb0a483e1c853481f55e8d8",
                    "logPageUrl": "https://data.bytedanc*.net/dorado/instance-detail/log?project=cn_756&id=108301911&schedule=2022-12-14%2000%3A00%3A00&pid=756&instanceId=1322531180&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": 9178
                },
                {
                    "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=756&status=4&instanceId=1322222925&groupName=cn",
                    "instanceDurationTime": 1197.0,
                    "instanceId": 1322222925,
                    "instanceSign": "af3a3d960f5a961653e1ea87ba216bbf",
                    "logPageUrl": "https://data.bytedanc*.net/dorado/instance-detail/log?project=cn_756&id=108301911&schedule=2022-12-13%2000%3A00%3A00&pid=756&instanceId=1322222925&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已终止

3.5 提交数据集同步任务回溯

  • 权限需求

    资源权限
    数据集write
  • 接口描述与说明批量提交同步任务实例,实现数据回溯。
    注意回溯日期时间段可选择范围,应小于等于数据集的数据生命周期(ttl)

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/syncJob

  • cURL示例

    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
    }'
    
  • 入参说明

    • 入参说明
      名称类型必选枚举值含义说明
      dataSetIdinteger数据集ID
      nodeIdstring如不指定则默认回溯主表的数据;如填入则回溯维度表的数据
      startDatestring同步任务业务日期范围-回溯开始时间
      endDatestring同步任务业务日期范围-回溯截止时间
      checkMinMaxbool检查同步分区范围是否超出限制
      skipCheckbool跳过依赖检查
      isSpecifyQueuebool是否制定队列回溯(非TOB环境)
      queueNamestring指定的队列名称(非TOB环境)

      maxParallelism

      integer

      当前同步任务的实例最大的行数,主要用于批量回溯时,防止所有回溯实例同一时刻被全部调起进入执行
      例:回溯了100个实例,设置最大并行数为50,则最多只会有50个实例在执行,其余50个会进入队列等待

  • 出参说明

    {
        "code": "aeolus/ok",
        "data": "ok",
        "msg": "成功"
    }
    
  • 备注

3.6 终止数据集同步任务实例

  • 权限需求

    资源权限
    数据集write
  • 接口描述与说明批量终止任务实例,2.60.0版本可用

  • 接口路径{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/stopSyncJob

  • cURL示例

    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": 2260077746, 
                "taskTime": "2023-12-25 00:00:00",
                "sign": ""
            },
            {
                "id": 2260077745, 
                "taskTime": "2023-12-24 00:00:00"
            }
         ],
        "nodeId": ""
    }'
    
  • 入参说明

    • 入参说明
      名称类型必选枚举值含义说明
      $.nodeIdstring如不指定则默认终止主表任务实例;如填入则终止维度表任务实例
      $.instanceListobject终止实例范围
      $.instanceList.idstring终止任务实例的ID,可从查看数据集同步任务状态信息接口里的instanceId获取
      $.instanceList.taskTimestring终止任务实例的业务日期,可从查看数据集同步任务状态信息接口里的bizTime获取
      $.instanceList.signstring同步任务实例签名,可从查看数据集同步任务状态信息接口里的instanceSign获取
  • 出参说明

    {
        "code": "aeolus/ok",
        "data": "ok",
        "msg": "成功"
    }
    
  • 备注