阅读615 返回首页    go 英雄联盟


查询 Topic 当前位点__Topic 相关接口_Open API_消息队列 MQ-阿里云

本文介绍 OnsTopicStatus 接口,调用该接口可以查询指定 Topic 当前的消息状态。

1. 使用场景

查询当前 Topic 下的消息总量以及最后更新时间,一般用于判断 Topic 资源的使用率。TopicStatus 接口返回当前服务器上该 Topic 下所有的消息数,以及最后消息写入时间。

2. 请求参数列表

名称 类型 是否必须 描述
OnsRegionId String 当前查询 MQ 所在区域,可以通过 ONSRegionList 方法获取,参见公共术语
OnsPlatform String 该请求来源,默认是从 POP 平台
PreventCache Long 用于 CSRF 校验,设置为系统当前时间即可
Topic String 查询的 Topic 名称

3. 返回参数列表

名称 类型 描述
RequestId String 为公共参数,每个请求独一无二
HelpUrl String 帮助链接
Data OnsTopicStatusResponse.Data 查询到的 Topic 的信息存储数据结构

OnsTopicStatusResponse.Data 数据结构

成员 类型 描述
totalCount Long 当前 Topic 的所有分区存在的消息数总和
lastTimeStamp Long 当前 Topic 的最后更新时间

4. 相关 API

  • OnsTopicCreate:创建 Topic
  • OnsConsumerStatus:查询订阅组的消费者状态

5. 使用示例

调用示例:

本示例仅仅提供一个参考,从华东1接入点接入,查询当前用户下名为”JODIE_TEST_27dd”的 Topic 的消息数量。

  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. OnsTopicStatusRequest request = new OnsTopicStatusRequest();
  19. request.setAcceptFormat(FormatType.JSON);
  20. /**
  21. *ONSRegionId是指你需要API访问MQ哪个区域的资源.
  22. *该值必须要根据OnsRegionList方法获取的列表来选择和配置,因为OnsRegionId是变动的,不能够写固定值
  23. */
  24. request.setOnsRegionId("daily");
  25. request.setPreventCache(System.currentTimeMillis());
  26. request.setTopic("JODIE_TEST_27dd");
  27. try {
  28. OnsTopicStatusResponse response = iAcsClient.getAcsResponse(request);
  29. OnsTopicStatusResponse.Data data=response.getData();
  30. Long totalCount =data.getTotalCount();
  31. Long lastTimeStamp =data.getLastTimeStamp();
  32. System.out.println(response.getRequestId());
  33. } catch (ClientException e) {
  34. e.printStackTrace();
  35. }
  36. catch (Exception e) {
  37. e.printStackTrace();
  38. }
  39. }

最后更新:2016-12-19 10:07:18

  上一篇:go 搜索指定 Topic 详细信息__Topic 相关接口_Open API_消息队列 MQ-阿里云
  下一篇:go 查询消费堆积__消费管理相关接口_Open API_消息队列 MQ-阿里云