创建 WebHook 规则

创建 WebHook 规则

  1. 搭建 Web 服务,这里使用 nc 命令做一个简单的 Web 服务:
$ while true; do echo -e "HTTP/1.1 200 OK\n\n $(date)" | nc -l 127.0.0.1 9901; done;
  1. 创建规则:

打开 emqx dashboard 创建 WebHook 规则 - 图1 (opens new window) ,选择左侧的 “规则” 选项卡。

选择触发事件 “消息发布”,然后填写规则 SQL:

``` SELECT * FROM "message.publish"

> 
> ![image](https://static.bookstack.cn/projects/emqx-enterprise-3.0-zh/3d8a4cccf92c828008b4188730ee8a6b.png) 

  1. 关联动作:

> 在 “响应动作” 界面选择 “添加”,然后在 “动作” 下拉框里选择 “发送数据到 Web 服务”。
> 
> ![image](https://static.bookstack.cn/projects/emqx-enterprise-3.0-zh/b4f2903e642abd06dcfbc5de85dff34a.png) 

  1. 给动作关联资源:

> 现在资源下拉框为空,可以点击右上角的 “新建资源” 来创建一个 WebHook 资源:
> 
> ![image](https://static.bookstack.cn/projects/emqx-enterprise-3.0-zh/c08da2fd1dff7ca5848c5dc8c18a68c5.png) 
> 
> 选择 “WebHook 资源”:
> 
> ![image](https://static.bookstack.cn/projects/emqx-enterprise-3.0-zh/d13c7cb272adc69035502656208c59dd.png) 

  1. 填写资源配置:

> 填写 “请求 URL” 和请求头(可选):
> 
> ```
http://127.0.0.1:9901

点击 “测试连接” 按钮,确保连接测试成功,最后点击 “新建” 按钮:

image

  1. 返回响应动作界面,点击 “确认”。

image

  1. 返回规则创建界面,点击 “新建”。

image

规则已经创建完成,规则列表里展示出了新创建的规则:

image

  1. 发一条消息:
Topic: "t/1"
QoS: 1
Payload: "Hello web server"

然后检查 Web 服务是否收到消息:

image