订阅信息

订阅信息

GET /api/v4/subscriptions

返回集群下所有订阅信息,支持分页机制。

Query String Parameters:

Name Type Required Default Description
_page Integer False 1 页码
_limit Integer False 10000 每页显示的数据条数,未指定时由 emqx-management 插件的配置项 max_row_limit 决定

在 4.1 版本后,支持多条件和模糊查询: | Name | Type | Description | | —————— | ———- | —————- | | clientid | String | 客户端标识符 | | topic | String | 主题,全等查询 | | qos | Enum | 可取值为:0,1,2 | | share | String | 共享订阅的组名称 | | _match_topic | String | 主题,匹配查询 |

Success Response Body (JSON):

Name Type Description
code Integer 0
data Array of Objects 所有订阅信息
data[0].node String 节点名称
data[0].clientid String 客户端标识符
data[0].topic String 订阅主题
data[0].qos Integer QoS 等级
meta Object 同 /api/v4/clients

Examples:

$ 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},"data":[{"topic":"a/+/c","qos":0,"node":"emqx@127.0.0.1","clientid":"78082755-e8eb-4a87-bab7-8277541513f0"},{"topic":"a/b/c","qos":1,"node":"emqx@127.0.0.1","clientid":"7a1dfceb-89c0-4f7e-992b-dfeb09329f01"}],"code":0}

注:在 4.1 后,返回的 meta 内容做了修改:

  • count:仍表示总数,但在 多条件/模糊查询 时,固定为 -1。
  • hasnext:为新增字段,表示是否存在下一页。

GET /api/v4/subscriptions/{clientid}

返回集群下指定客户端的订阅信息。

Path Parameters:

Name Type Required Description
clientid String True ClientID

Success Response Body (JSON):

Name Type Description
code Integer 0
data Object 所有订阅信息
data.node String 节点名称
data.clientid String 客户端标识符
data.topic String 订阅主题
data.qos Integer QoS 等级

Examples:

$ curl -i --basic -u admin:public -X GET "http://localhost:8081/api/v4/subscriptions/123"

{"data":[{"topic":"a/b/c","qos":1,"node":"emqx@127.0.0.1","clientid":"123"}],"code":0}

GET /api/v4/nodes/{node}/subscriptions

类似 GET /api/v4/subscriptions,返回指定节点下的所有订阅信息,支持分页机制。

Query String Parameters:

Name Type Required Default Description
_page Integer False 1 页码
_limit Integer False 10000 每页显示的数据条数,未指定时由 emqx-management 插件的配置项 max_row_limit 决定

Success Response Body (JSON):

Name Type Description
code Integer 0
data Array of Objects 所有订阅信息
data[0].node String 节点名称
data[0].clientid String 客户端标识符
data[0].topic String 订阅主题
data[0].qos Integer QoS 等级
meta Object 同 /api/v4/clients

Examples:

$ curl -i --basic -u admin:public -X GET "http://localhost:8081/api/v4/nodes/emqx@127.0.0.1/subscriptions?_page=1&limit=10"

{"meta":{"page":1,"limit":10000,"count":2},"data":[{"topic":"a/+/c","qos":0,"node":"emqx@127.0.0.1","clientid":"78082755-e8eb-4a87-bab7-8277541513f0"},{"topic":"a/b/c","qos":1,"node":"emqx@127.0.0.1","clientid":"7a1dfceb-89c0-4f7e-992b-dfeb09329f01"}],"code":0}

GET /api/v4/nodes/{node}/subscriptions/{clientid}

类似 GET /api/v4/subscriptions/{clientid},在指定节点下,查询某 clientid 的所有订阅信息,支持分页机制。

Path Parameters:

Name Type Required Description
clientid String True ClientID

Success Response Body (JSON):

Name Type Description
code Integer 0
data Object 所有订阅信息
data.node String 节点名称
data.clientid String 客户端标识符
data.topic String 订阅主题
data.qos Integer QoS 等级

Examples:

$ curl -i --basic -u admin:public -X GET "http://localhost:8081/api/v4/nodes/emqx@127.0.0.1/subscriptions/sample"

{"data":[{"topic":"a/+/c","qos":0,"node":"emqx@127.0.0.1","clientid":"sample"}],"code":0}