You need to enable JavaScript to run this app.
导航
回溯任务接口
最近更新时间:2024.08.30 11:00:40首次发布时间:2024.01.11 10:56:24

本文档介绍内容洞察【回溯订阅任务】的配置接口及任务管理接口

概述

内容洞察支持客户按照业务需求,通过【回溯订阅任务】的形式,配置数据订阅规则。客户侧可调用任务管理相关接口,配置订阅任务规则。

  • 【回溯任务】:即对于历史发文批量匹配的任务规则,若历史发文符合任务规则,则会即时批量推送给下游。

备注:
订阅任务配置的规则说明,详见:订阅任务配置
接口调用前置操作,详见:调用指南
实时任务创建完成后,可参考数据消费接口 中的实时数据消费进行数据消费


请求接口

回溯任务数量预览接口

基本信息

名称内容
接口地址/openapi/backtrack/preview_task
请求方式GET
是否需要鉴权
QPS限制1

请求参数

Hearder请求参数

字段类型是否必填说明
X-Insight-Biz-Namestring业务名称 -> 即火山账号ID
X-Insight-Access-TokenstringAPI访问凭证access_token
Content-Typestring'application/json'

Body请求参数

字段类型是否必填说明
ruleobject回溯任务的规则
start_timestring开始时间,格式"yyyy-mm-dd HH:mm:ss"
end_timestring结束时间,格式"yyyy-mm-dd HH:mm:ss"
de_duplicatebool是否去重(去重是指消费过的数据不再回溯),默认去重

返回参数

字段类型说明
statusint错误码,具体见错误代码
messagestring返回信息
datacountint预估命中量级

调用示例

请求示例

REQ:
GET  /openapi/backtrack/preview_task

header:
X-Insight-Biz-Name: $biz_name
X-Insight-Access-Token: $token
Content-Type: 'application/json'

Body:
{
    "rule": [
        "and",
        [
            "or",
            [
                "or",
                [
                    "in",
                    "测试",
                    {
                        "f": "title"
                    }
                ]
            ]
        ] // 根据第一节的规则配置的格式配置,最大支持三层,限制节点数200以内,规则还不支持related_location
    ],
    "start_time": "2023-06-01 00:00:00", // 起始时间需要是最近九十天的时间(回溯最早只能支持九十内)
    "end_time": "2023-06-10 00:00:00", // 注意end_time大于start_time
    "de_duplicate": true, // 是否去重,默认去重(去重是指消费过的数据不再回溯)
}

curl --location --request GET 'https://insight.volcengineapi.com/openapi/backtrack/preview_task' \
--header 'X-Insight-Biz-Name: ${biz_name}' \
--header 'X-Insight-Access-Token: ${token}' \
--header 'Content-Type: application/json' \
--data '{
    "rule": [
        "and",
        [
            "in",
            "测试",
            {
                "f": "title"
            }
        ]
    ],
    "start_time": "2024-08-01 00:00:00",
    "end_time": "2024-08-02 00:00:00",
    "de_duplicate": true
}'

返回示例

RESP:
{
    "status": 0,
    "message": "succeed",
    "data": {
        "count": 12324242 // 估计的命中量级
    }
}

说明

  • start_time和end_time需要在最近90天之内

  • preview预览接口count只做大概粗估,用于业务参考

  • 本接口因为运算量大,任务返回慢,请耐心等待

  • 规则最大支持三层,限制节点数200以内

  • 回溯会按照时间倒序排序捞数,若limit 5000,则会捞发文时间距离end_time最近的5000条的数据。消费时,对于每个分片来说,数据是根据分片的offset来排序(同一分片下,offset 0会比offset 1的发布时间靠前)。但是消费到的offset顺序不是严格排序的。



回溯任务创建接口

基本信息

名称内容
接口地址/openapi/backtrack/create_task
请求方式POST
是否需要鉴权
QPS限制5

请求参数

Hearder请求参数

字段类型是否必填说明
X-Insight-Biz-Namestring业务名称 -> 即火山账号ID
X-Insight-Access-TokenstringAPI访问凭证access_token
Content-Typestring'application/json'

Body请求参数

字段类型是否必填说明
ruleobject回溯任务的规则
start_timestring开始时间,格式"yyyy-mm-dd HH:mm:ss"
end_timestring结束时间,格式"yyyy-mm-dd HH:mm:ss"
de_duplicatebool是否去重(去重是指消费过的数据不再回溯),默认去重
limitint任务的limit数,回溯到的数据量会小于等于填入的limit数

返回参数

字段类型说明
statusint错误码,具体见错误代码
messagestring返回信息
datatask_idint回溯任务的id

调用示例

请求示例

REQ:
POST   /openapi/backtrack/create_task

header:
X-Insight-Biz-Name: $biz_name
X-Insight-Access-Token: $token
Content-Type: 'application/json'

Body:
{
    "rule": [
        "and",
        [
            "or",
            [
                "or",
                [
                    "in",
                    "测试",
                    {
                        "f": "title"
                    }
                ]
            ]
        ] // 根据第一节的规则配置的格式配置,最大支持三层,限制节点数200以内,规则还不支持related_location
    ],
    "start_time": "2023-06-01 00:00:00", // 起始时间需要是最近九十天的时间(回溯最早只能支持九十天内)
    "end_time": "2023-06-10 00:00:00", // 注意end_time大于start_time
    "de_duplicate": true, // 是否去重,默认去重
    "limit": 100 // 任务的limit数,回溯到的数据量会小于等于填入的limit数
}

curl --location 'https://insight.volcengineapi.com/openapi/backtrack/create_task' \
--header 'X-Insight-Biz-Name: ${biz_name}' \
--header 'X-Insight-Access-Token: ${token}' \
--header 'Content-Type: application/json' \
--data '{
    "rule": [
        "and",
        [
            "in",
            "测试",
            {
                "f": "title"
            }
        ]
    ],
    "de_duplicate": false,
    "start_time": "2024-05-20 10:32:01",
    "end_time": "2024-05-28 20:00:01"
}'

返回示例

RESP:
{
    "status": 0,
    "message": "succeed",
    "data": {
        "task_id": 0
    }
}

说明

  • start_time和end_time需要在最近90天之内

  • 客户需要根据返回的task_id作为入参在回溯接口回溯

  • 任务开始后即开始回溯,六个小时后会过期无法消费,请尽快消费回溯接口以免数据过期

  • 规则最大支持三层,限制节点数200以内

  • 去重:若客户曾在主任务订阅过相关任务,且命中过的发文,则会在创建任务后不去推送。不去重:会回捞命中回溯条件的所有发文。

  • 若选取limit则回溯消费到的数会小于等于填入的limit数量。


回溯任务状态查询接口

基本信息

名称内容
接口地址/openapi/backtrack/get_task_info?task_id=0
请求方式GET
是否需要鉴权
QPS限制5

请求参数

Hearder请求参数

字段类型是否必填说明
X-Insight-Biz-Namestring业务名称 -> 即火山账号ID
X-Insight-Access-TokenstringAPI访问凭证access_token
Content-Typestring'application/json'

Query请求参数

字段类型是否必填说明
task_idint回溯任务的id,会在创建接口中返回

返回参数

字段类型说明
statusint错误码,具体见错误代码
messagestring返回信息

data

task_status

string

回溯任务状态,running/waiting/finished/failed

task_cur_max_offsetint目前回溯到的最大offset

collector_cur_max_offset

map
k:string, v:int

目前每个collector能回溯到的最大offset

rulestringrule的json string,包含start_time和end_time
de_duplicatebool是否去重
limitint创建任务时填的limit数

调用示例

请求示例

REQ:
GET /openapi/backtrack/get_task_info?task_id=0

header:
X-Insight-Biz-Name: $biz_name
X-Insight-Access-Token: $token
Content-Type: 'application/json'

curl --location 'https://insight.volcengineapi.com/openapi/backtrack/get_task_info?task_id=${task_id}' \
--header 'X-Insight-Biz-Name: ${biz_name}' \
--header 'X-Insight-Access-Token: ${token}'
**返回示例**

```json
RESP:
{
    "status": 0,
    "message": "succeed",
    "data": {
        "task_status": "running", // 回溯任务状态,running/waiting/finished/failed
        "task_cur_max_offset": 122999, // 目前回溯到的最大offset
        "collector_cur_max_offset": {
            "0": 4,
            "1": 7,
            "10": 4,
            "11": 4,
            "12": 8,
            "13": 5,
            "14": 9,
            "15": 7,
            "16": 8,
            "17": 10,
            "18": 9,
            "19": 3,
            "2": 16,
            "3": 8,
            "4": 8,
            "5": 6,
            "6": 7,
            "7": 10,
            "8": 10,
            "9": 7
        }, // 目前每个collector能回溯到的最大offset,key为collector,value为offset
        "rule": "{\"end_date\":\"2023-06-28\",\"rule\":[\"or\",[\"in\",\"好人\",{\"fl\":[\"title\",\"asr\",\"ocr\"]}],[\"in\",\"火山\",{\"fl\":[\"title\",\"asr\",\"ocr\"]}],[\"in\",\"三姑\",{\"fl\":[\"title\",\"asr\",\"ocr\"]}]],\"start_date\":\"2023-06-25\"}", 
            // rule 的json str 包含start_date和end_date
        "de_duplicate": true, // 是否去重
        "limit": 100 // 创建任务时填的limit数
    }
}

说明

任务回溯过程中offset(相当于可消费的offset)会增加,直到回溯任务结束,offset会不再变化,这也是客户能消费到的最大的距离。注意最大的offset不代表可以消费到这么多数,因为其中会有部分发文由于删除,法务原因不能推送而跳过。