百度智能云边缘服务器ECS使用教程 - Lucky平台 | 事件订阅
文档简介:
接口描述:
注册接收时间中心消息的URL地址。现阶段异常事件规则事先预置或者通过web前端配置,后续可按需开放API接口配置,比如:人脸识别技能的异常规则为有人脸即推送异常事件。
说明:
事件中心相关接口都是https协议, 默认情况端口为81。
接口描述
注册接收时间中心消息的URL地址。现阶段异常事件规则事先预置或者通过web前端配置,后续可按需开放API接口配置,比如:人脸识别技能的异常规则为有人脸即推送异常事件。
说明
事件中心相关接口都是https协议, 默认情况端口为81。
请求结构
POST /msg/config/set-notify-url
请求头域
无特殊请求头。
请求参数
参数 | 类型 | 是否必选 | 描述 | 示例 |
---|---|---|---|---|
receivers | Array | 是 | URL全路径数组,使用post方式向URL推送异常事件。当前只支持http,不支持https等。如果数组长度为0且reset为true,表示删除所有接收者。 注意不要遗漏http://前缀。 | ["http://1.2.3.4:8980/r1”,“http://a.b.c.d:9977/r2"] |
msgType | String | 是 | 消息类型,当前固定为raw,表示原始消息通知。 | "msgType": "raw" |
reset | Boolean | 否 | true: 清理之前该msgType的所有receivers为本次请求receivers。 false: 将当前的设置合并到之前的设置中。如果之前已经有相同receiver,则覆盖旧的receiver相关设置。默认为false。 | "reset": true |
attr | Map | 否 | key是要进行属性设置的receiver,value是具体属性。如果reset为false,则旧的receiver的属性也可以在本次更新。 | "attr": {"withImage": "never" } |
+withImage | String | 否 | 如何接收本消息对应的抽帧图片。可选值包括:never(从不接收) exception(仅当事件中心判别消息为异常消息时) normal(仅当事件中心判别消息非异常时) any(总是接收)。默认为any | "withImage": "exception" |
响应头域
无特殊响应头。
响应参数
参数 | 类型 | 描述 |
---|---|---|
status | Int32 | 接口返回状态, 0表示成功,其他表示失败 |
message | String | 成功或错误提示 |
data | JSON | 忽略该字段 |
请求示例
POST /msg/config/set-notify-url HTTP/1.1 Content-Type: application/json
Content-Length: 1254 { "receivers": ["http://1.2.3.4:8980/new-recv1",
"http://2.3.4.5:9977/new-recv2"] "msgType": "raw", "reset": false, "attr":
{ "http://1.2.3.4:8980/new-recv1": { "withImage": "exception" }, "http://2.3
.4.5:9977/new-recv2": { "withImage": "normal" }, "http://a.b.c.d/old-
existed/receiver": { "withImage": "any" } } }
注:如果希望全部URL不再接收通知,可将receivers置空并设置reset为true,请求示例如下:
{ "receivers": [], "msgType": "raw", "reset": true
响应示例
HTTP/1.1 200 OK
cache-control: no-cache
content-length: 484 content-type: application/json; charset=utf-8 date: Thu, 17 Nov 2022 00:45:02 GMT
server: nginx/1.21.6 { "status":0, "message": "success", "data": null }
异常事件推送数据格式
推送方式
向订阅URL以POST方式推送异常事件
推送参数
推送消息为JSON格式。收到响应http 200表示成功。目前无论是否推送成功,不会重试,只会记录失败日志。
参数 | 类型 | 描述 |
---|---|---|
id | String | 消息存储ID,只在单个边缘盒子唯一,不同边缘盒子之间可能重复 |
tag | Array | String数组,是否异常的标识。该字段不存在或者数组为空表示非异常,否则表示异常。非空时,每一项表示对应异常检测配置在DB中的主键ID。例如:["625df16f82cdb900013a5039", "625df16f82cdb900013a5041"] |
topic | String | 固定为lucky-ai |
schema | String | 技能英文名称 |
msg_id | String | 消息唯一标识 |
local_time | Int64 | 毫秒级消息时间戳 |
device_id | String | 单个边缘盒子上的摄像头设备的字符串唯一标识(只在该边缘盒子上唯一,有可能与其他边缘盒子的某个摄像头ID相同),与添加设备接口返回的字符串id唯一对应 |
machine_id | String | 边缘盒子的唯一标识,不同边缘盒子该字段值不同 |
message | Map | 具体识别结果 |
+image | String | BASE64编码的JPEG图片数据,解码BASE64后可以直接作为JPEG打开 |
+objects | Array | 多个识别结果的描述数组 |
++text | String | 识别结果文本 |
++bcolor | String | 对象绘图边框颜色。RGB格式。例如”#ff0000”表示红色 |
++x | Int32 | 识别区域的左上角x坐标 |
++y | Int32 | 识别区域左上角y坐标 |
++h | Int32 | 识别区域高度 |
++w | Int32 | 识别区域宽度 |
++content | Map | 识别结果的规格化输出,目前只有人流量算子有该字段 |
+++current | Int32 | 画面当前人数,目前只有人流量算子有该字段 |
region | Map | 周界识别区域。如果没有设置,该字段内容为空 |
+local_time | 整数 | 毫秒级时间戳,表示周界区域设置时间 |
+ai | String | 算法英文名称,同schema |
+id | String | 该边缘盒子上该算法对应的周期区域唯一标识 |
+deviceId | String | 边缘盒子上摄像头ID,同上述device_id字段 |
+text | String | 周界区域名称 |
+bcolor | String | 边框颜色。指定的十六进制RGB颜色。例如 #ff00ff表示全红+全蓝组合的颜色 |
+regions | Array | 每个字典对象代表一个多边形 |
++polygon | Array | Int32类型的数组。以(x1,y1), (x2,y2),…,(xn,yn)多边形顶点坐标表示的多边形。例如polygon[0]代表x1, polygon[1]代表y1, polygon[2]代表x2 |
推送事件格式示例
数据格式与“查询视频分析事件”API的响应参数data部分对应。
POST /your-receiver-URL/xxxx HTTP/1.1 Content-Type: application/json Content-Length: 1254 { "id":
"5349b4ddd2781d08c09890f4", "topic": "lucky-ai", "schema": "face", "msg_id": "D5-1608186865880
-3473", "local_time": 16081865880, "machine_id": "边缘盒子唯一标识XXX", "device_id": "135", "
region": { "id": "5349b4ddd2781d08c0989077", "ai": "face", "local_time": 1653878385345, "
device_id": "135", "text": "区域1", "bcolor": "0xff00bb", "regions": [ { "polygon": [34, 55,
340, 547, 42, 250] }, { "polygon": [24, 25, 340, 447, 52, 250] } ] }, "message": { "image": "J
PEG文件的BASE64编码数据", "objects": [ { "x": 3, "y": 4, "w": 100, "h": 200, "bcolor": "#ff00bb",
"text": "张三" }, { "x": 13, "y": 14, "w": 200, "h": 100, "bcolor": "#ff00bb", "text": "李四" } ] } }