本文档介绍内容洞察【回溯订阅任务】的配置接口及任务管理接口
内容洞察支持客户按照业务需求,通过【回溯订阅任务】的形式,配置数据订阅规则。客户侧可调用任务管理相关接口,配置订阅任务规则。
备注:
订阅任务配置的规则说明,详见:订阅任务配置
接口调用前置操作,详见:调用指南
实时任务创建完成后,可参考数据消费接口 中的实时数据消费进行数据消费
名称 | 内容 |
---|---|
接口地址 | /openapi/backtrack/preview_task |
请求方式 | GET |
是否需要鉴权 | 是 |
QPS限制 | 1 |
Hearder请求参数
字段 | 类型 | 是否必填 | 说明 |
---|---|---|---|
X-Insight-Biz-Name | string | 是 | 业务名称 -> 即火山账号ID |
X-Insight-Access-Token | string | 是 | API访问凭证access_token |
Content-Type | string | 是 | 'application/json' |
Body请求参数
字段 | 类型 | 是否必填 | 说明 |
---|---|---|---|
rule | object | 是 | 回溯任务的规则 |
start_time | string | 是 | 开始时间,格式"yyyy-mm-dd HH:mm:ss" |
end_time | string | 是 | 结束时间,格式"yyyy-mm-dd HH:mm:ss" |
de_duplicate | bool | 否 | 是否去重(去重是指消费过的数据不再回溯),默认去重 |
字段 | 类型 | 说明 | |
---|---|---|---|
status | int | 错误码,具体见错误代码 | |
message | string | 返回信息 | |
data | count | int | 预估命中量级 |
请求示例
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-Name | string | 是 | 业务名称 -> 即火山账号ID |
X-Insight-Access-Token | string | 是 | API访问凭证access_token |
Content-Type | string | 是 | 'application/json' |
Body请求参数
字段 | 类型 | 是否必填 | 说明 |
---|---|---|---|
rule | object | 是 | 回溯任务的规则 |
start_time | string | 是 | 开始时间,格式"yyyy-mm-dd HH:mm:ss" |
end_time | string | 是 | 结束时间,格式"yyyy-mm-dd HH:mm:ss" |
de_duplicate | bool | 否 | 是否去重(去重是指消费过的数据不再回溯),默认去重 |
limit | int | 否 | 任务的limit数,回溯到的数据量会小于等于填入的limit数 |
字段 | 类型 | 说明 | |
---|---|---|---|
status | int | 错误码,具体见错误代码 | |
message | string | 返回信息 | |
data | task_id | int | 回溯任务的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-Name | string | 是 | 业务名称 -> 即火山账号ID |
X-Insight-Access-Token | string | 是 | API访问凭证access_token |
Content-Type | string | 是 | 'application/json' |
Query请求参数
字段 | 类型 | 是否必填 | 说明 |
---|---|---|---|
task_id | int | 是 | 回溯任务的id,会在创建接口中返回 |
字段 | 类型 | 说明 | |
---|---|---|---|
status | int | 错误码,具体见错误代码 | |
message | string | 返回信息 | |
data | task_status | string | 回溯任务状态,running/waiting/finished/failed |
task_cur_max_offset | int | 目前回溯到的最大offset | |
collector_cur_max_offset | map | 目前每个collector能回溯到的最大offset | |
rule | string | rule的json string,包含start_time和end_time | |
de_duplicate | bool | 是否去重 | |
limit | int | 创建任务时填的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不代表可以消费到这么多数,因为其中会有部分发文由于删除,法务原因不能推送而跳过。