Agent使用文档
1.项目描述
Agent
俗称代理 服务, 负责从mmq
到事件,然后执行一系列的预定义计划。
2. 脚本格式
{
"event": {
"event": "retainer_open"
},
"filter_expr": [
["category","=","ALERT"]
],
"callback_group": [
{
"output": "callback",
"callback_url": "http://messenger",
"callback_block": "messenger",
"callback_method": "http",
"callback_param": {},
"time_offset": 0
}
]
}
- event:事件参数 ,具体参数MixIot事件文档
- filter_expr:过滤条件,可以是多个,多个情况下等同 and
- callback_group : 回调动作的集合,可以是多个回调动作,每个回调动作相互独立
- exec_type: 执行方式 app: 消息推送 email: 发送邮件 sms: 发送短信 pusher:反向控制
- output: 输出类型,可选
event
:事件 和callback
: 回调 两种
- output: 输出类型,可选
- output_event: 用户事件名
output
为event
时填写
- output_event: 用户事件名
- callback_url: 代理回调地址,
output
为callback
时填写
- callback_url: 代理回调地址,
- callback_block: 代理服务,callback_url和callback_block 二选一即可
- callback_method: 代理回调方式,
output
为callback
时填写,支持 http, tcp, websocket, grpc
- callback_method: 代理回调方式,
- timer_offset: 执行时间偏移,单位秒,为空则立即执行
- callback_param:附加参数,可以是任意的json对象,并且值支持变量替换
3. 变量替换
变量替换规则遵循mixiot模板变量替换的统一规则, 在这里我们只有session变量,也就是事件中的参数, 假设我们订阅到的recv_fv 事件:
{
"event": "recv_fv",
"object_id": "obj001",
"data": {
"S01": 100,
"S02": 200
}
}
现在我们想要在附加参数中引用事件中的object_id的值, 并且引用data.S01的值,那么callback_param可以这么写:
{
"object_id": "${SFV(object_id)}",
"S01": "${SFV(data.S01)}"
}
需要特别注意的是: 在事件参数中 data.S01的值是浮点型:100,在附件参数中经过变量替换,S01的值会变成字符串 "100"。
文档更新时间: 2024-05-27 10:11 作者:技术支持