之前有文章提到过MQTT服务器emq, http://www.04007.cn/article/960.html 可以认为它是一个轻量级的消息队列,因此需要提供给服务端比如查询客户端信息、发布消息和创建规则等功能。对此EMQ X 提供了HTTP API以实现与外部系统的集成,HTTP API服务默认监听8081端口,可通过etc/plugins/emqx_management.conf 配置文件修改相关参数属性,或启用 HTTPS 监听。本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
关于EMQ X的接口安全:EMQ X的HTTP API使用Basic认证(opens new window)方式,id和password须分别填写AppID和AppSecret。默认的AppID和AppSecret 是:admin/public。你可以在Dashboard的左侧菜单栏里,选择 "管理" -> "应用" 来修改和添加 AppID/AppSecret。EMQ X 4.0.0 (opens new window)以后的所有API调用均以api/v4 开头。EMQ X常用的API接口如下:本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
1.消息发布接口本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
#POST /api/v4/mqtt/publish
#参数要求:
必须指定topic或topics,可以实现发送到多个topic; 必须指定消息正文payload(String)和clientid(客户端标识符)本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
#发送示例: $ curl -i --basic -u admin:public -X POST "http://localhost:8081/api/v4/mqtt/publish" \ -d '{"topic":"a/b/c","payload":"Hello World","qos":1,"retain":false,"clientid":"example"}' #正确响应 {"code":0}本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
2.返回集群下所有客户端列表,支持分页。
#GET /api/v4/clients
#参数要求:
可以不带参数,默认有分页参数_page(Integer页码)和(_limit每页显示的数据条数,默认10000可配置)本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
#发送示例: $ curl -i --basic -u admin:public -X GET "http://localhost:8081/api/v4/clients?_page=1&_limit=10" #响应 {"meta":{"page":1,"limit":10,"count":1},"data":[{"zone":"external","recv_cnt":2,"max_mqueue":1000,"node...很多详情信息本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
3.返回集群下某个客户端的详情
GET /api/v4/clients/{clientid}
#参数要求:
clientid(String)指定的ClientID本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
#发送示例: $ curl -i --basic -u admin:public -X GET "http://localhost:8081/api/v4/clients/example" #响应 {"data":[{"recv_cnt":2,"...单个client的详情数据本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
4.返回集群下所有订阅的topic主题列表,支持分页机制。
GET /api/v4/subscriptions
#参数要求:
可以不带参数,默认有分页参数_page(Integer页码)和(_limit每页显示的数据条数,默认10000可配置)本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
#发送示例: $ curl -i --basic -u admin:public -X GET "http://localhost:8081/api/v4/subscriptions?_page=1&_limit=10" #响应 {"meta":{"page":1,"limit":10000,"count":2},"da本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
/api/v4/subscriptions会返回每个订阅的topic主题以及订阅这个主题的所有clients列表。提取subscriptions和提取clients是分别从客户端和客户端订阅的topic角度来查看数据。本文地址:http://www.04007.cn/article/975.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/975.html 未经许可,不得转载. 手机访问本页请扫描下方二维码:
|