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_event: 用户事件名 outputevent时填写
    • callback_url: 代理回调地址,outputcallback时填写
    • callback_block: 代理服务,callback_url和callback_block 二选一即可
    • callback_method: 代理回调方式, outputcallback时填写,支持 http, tcp, websocket, grpc
    • 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   作者:技术支持