全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
消息队列 MQ

查询分组在线数量

更新时间:2017-08-11 15:07:57

OnsMqttQueryClientByGroupId 接口根据 GroupId 统计属于该分组下的在线设备的数量。

使用场景

查询在线设备数量的接口一般用于业务分析,统计一个 GroupId 分组下终端设备的活跃程度。

请求参数列表

名称 类型 是否必须 描述
OnsRegionId String 当前操作的 MQ 所在区域,详情参见公共术语页面
OnsPlatform String 请求来源,默认是从 POP 平台
PreventCache Long 用于 CSRF 校验,设置为系统当前时间即可
GroupId String 需要查询的目标分组 GroupId

返回参数列表

名称 类型 描述
RequestId String 为公共参数,每个请求独一无二,用于排查定位问题
HelpUrl String 帮助链接
MqttClientSetDo MqttClientSetDo 分组在线信息数据结构

MqttClientSetDo 数据结构

名称 类型 描述
OnlineCount Long 分组所有在线设备数量

错误码列表

相关 API

  • OnsMqttQueryClientByTopic:根据 Topic 查询当前订阅该 Topic 的在线客户端数量

使用示例

本示例仅仅提供一个参考,从杭州接入点接入,查询指定 groupId 的在线数量信息。

  1. public static void main(String[] args) {
  2. String regionId = "cn-hangzhou";
  3. String accessKey = "XXXXXXXXXXXXXXXXX";
  4. String secretKey = "XXXXXXXXXXXXXXXXX";
  5. String endPointName ="cn-hangzhou";
  6. String productName ="Ons";
  7. String domain ="ons.cn-hangzhou.aliyuncs.com";
  8. /**
  9. *根据自己所在的区域选择Region后,设置对应的接入点
  10. */
  11. try {
  12. DefaultProfile.addEndpoint(endPointName,regionId,productName,domain);
  13. } catch (ClientException e) {
  14. e.printStackTrace();
  15. }
  16. IClientProfile profile= DefaultProfile.getProfile(regionId,accessKey,secretKey);
  17. IAcsClient iAcsClient= new DefaultAcsClient(profile);
  18. OnsMqttQueryClientByGroupIdRequest request = new OnsMqttQueryClientByGroupIdRequest();
  19. /**
  20. *ONSRegionId是指你需要API访问MQ哪个区域的资源。
  21. *该值必须要根据OnsRegionList方法获取的列表来选择和配置,因为OnsRegionId是变动的,不能够写固定值
  22. */
  23. request.setOnsRegionId("XXXX");
  24. request.setPreventCache(System.currentTimeMillis());
  25. request.setAcceptFormat(FormatType.JSON);
  26. request.setGroupId("GID_XXXXX");
  27. try {
  28. OnsMqttQueryClientByGroupIdResponse response = iAcsClient.getAcsResponse(request);
  29. OnsMqttQueryClientByGroupIdResponse.MqttClientSetDo clientSetDo = response.getMqttClientSetDo();
  30. System.out.println(clientSetDo.getOnlineCount() + " " +
  31. clientSetDo.getPersistCount() + " ");
  32. } catch (ServerException e) {
  33. e.printStackTrace();
  34. } catch (ClientException e) {
  35. e.printStackTrace();
  36. }
  37. }
本文导读目录