閱讀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-阿裏雲