根据 MQTT 的 Topic 统计订阅该 Topic 的在线设备的数量。
使用场景
OnsMqttQueryClientByTopic 接口一般用于业务分析。业务上订阅某个特定 Topic 的设备一般是参与某个特殊活动的设备,可以根据 Topic 查询参与该活动的设备数量。
由于 OpenAPI 面向的场景是用户自定义管控开发,服务端会对过快的调用进行限流(每分钟 30 次),因此不要在业务的主流程中使用本接口。如需判断设备是否在线,请使用设备上下线通知功能。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | OnsMqttQueryClientByTopic |
系统规定参数。取值:OnsMqttQueryClientByTopic。 |
ParentTopic | String | 是 | test |
需查询的目标父级 Topic |
SubTopic | String | 是 | /testmqtt |
需查询的目标子级 Topic,如果没有则不填 |
InstanceId | String | 否 | post-cn-0pp12gl**** |
需查询的 Topic 所属的 MQTT 实例 ID。针对有独立命名空间的实例,该参数为必填。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
MqttClientSetDo |
设备在线信息数据结构 |
||
OnlineCount | Long | 4 |
订阅指定 Topic 的所有在线设备数量 |
RequestId | String | F7C7E53F-B753-4EAA-B204-5DDA173DE86F |
为公共参数,每个请求的 ID 都是唯一的,可用于排查定位问题 |
示例
请求示例
http(s)://[Endpoint]/?Action=OnsMqttQueryClientByTopic
&<公共请求参数>
正常返回示例
XML
格式
<OnsMqttQueryClientByTopicResponse>
<RequestId>F7C7E53F-B753-4EAA-B204-5DDA173DE86F</RequestId>
<MqttClientSetDo>
<OnlineCount>4</OnlineCount>
</MqttClientSetDo>
</OnsMqttQueryClientByTopicResponse>
JSON
格式
{
"RequestId":"F7C7E53F-B753-4EAA-B204-5DDA173DE86F",
"MqttClientSetDo":{
"OnlineCount":4
}
}
错误码
访问错误中心查看更多错误码。
在文档使用中是否遇到以下问题
更多建议
匿名提交