閱讀521 返回首頁    go windows


查詢指定 Topic 狀態__Topic 相關接口_Open API_消息隊列 MQ-阿裏雲

查詢 Topic

本文介紹 OnsTopicGet 接口,用於查詢指定 Topic 的信息,屬於精確查詢。

1. 使用場景

查詢賬號下指定 Topic 的分布情況,並獲取 Topic 當前的開通狀態和權限關係等信息。由於是精確查詢,因此輸入參數必須包含 Topic 名稱。

2. 請求參數列表

名稱 類型 是否必須 描述
OnsRegionId String 當前查詢 MQ 所在區域,可以通過 ONSRegionList 方法獲取,參見公共術語
OnsPlatform String 該請求來源,默認是從 POP 平台
PreventCache Long 用於 CSRF 校驗,設置為係統當前時間即可
Topic String 指定查詢的 Topic

3. 返回參數列表

名稱 類型 描述
RequestId String 為公共參數,每個請求獨一無二
HelpUrl String 幫助鏈接
Data List(PublishInfoDo) 返回所有已發布的 Topic 信息列表

PublishInfoDo 數據結構

成員 類型 描述
id Long 該 Topic 信息編號
channelId Integer 該 Topic 所在區域 ID,0代表阿裏雲,1代表聚石塔
channelName String 該 Topic 所在類別,阿裏雲,或者聚石塔,…
onsRegionId Long 該 Topic 所在區域 ID,就是 ONSRegionList 方法獲取的內容
regionName String 該 Topic 所在區域名稱
topic String Topic 名稱
owner String Topic 所有者編號,為阿裏雲的 uid
relation Integer 所有關係編號1為持有者,2為可以發布,4為可以訂閱,6為可以發布和訂閱
relationName String 所有關係名稱,例如持有者、可訂閱、可發布、可發布訂閱
status Integer 當前狀態編號(0 服務中 1 凍結 2 暫停)
statusName String 當前狀態別名,服務中,未開通
appkey Integer null
createTime Long 創建時間
updateTime Long 更新時間
remark String 備注信息

4. 相關 API

  • OnsTopicCreate:創建 Topic
  • OnsTopicList:查看 Topic 列表
  • OnsPublishDelete:刪除發布關係
  • OnsSubscribeDelete:刪除訂閱關係

5. 使用示例

調用示例:

本示例僅僅提供一個參考,從華東1接入點接入,查詢名為”MingduanTest”的 Topic,並打印 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. OnsTopicGetRequest request = new OnsTopicGetRequest();
  19. request.setAcceptFormat(FormatType.JSON);
  20. request.setTopic("MingduanTest");
  21. /**
  22. *ONSRegionId是指需要API訪問MQ哪個區域的資源.
  23. *該值必須要根據OnsRegionList方法獲取的列表來選擇和配置,因為OnsRegionId是變動的,不能夠寫固定值
  24. */
  25. request.setOnsRegionId("daily");
  26. request.setPreventCache(System.currentTimeMillis());
  27. try {
  28. OnsTopicGetResponse response = IAcsClient.getAcsResponse(request);
  29. List<OnsTopicGetResponse.PublishInfoDo> publishInfoDoList=response.getData();
  30. for (OnsTopicGetResponse.PublishInfoDo publishInfoDo:publishInfoDoList){
  31. System.out.println(publishInfoDo.getId()+" "+
  32. publishInfoDo.getChannelId()+" "+
  33. publishInfoDo.getChannelName()+" "+
  34. publishInfoDo.getOnsRegionId()+" "+
  35. publishInfoDo.getRegionName()+" "+
  36. publishInfoDo.getTopic()+" "+
  37. publishInfoDo.getOwner()+" "+
  38. publishInfoDo.getRelation()+" "+
  39. publishInfoDo.getRelationName()+" "+
  40. publishInfoDo.getStatus()+" "+
  41. publishInfoDo.getStatusName()+" "+
  42. publishInfoDo.getAppkey()+" "+
  43. publishInfoDo.getCreateTime()+" "+
  44. publishInfoDo.getUpdateTime()+" "+
  45. publishInfoDo.getRemark());
  46. }
  47. System.out.println(response.getRequestId());
  48. }
  49. catch (ServerException e) {
  50. e.printStackTrace();
  51. }
  52. catch (ClientException e) {
  53. e.printStackTrace();
  54. }
  55. catch (Exception e) {
  56. e.printStackTrace();
  57. }
  58. }

最後更新:2016-12-19 14:53:12

  上一篇:go 獲取 Topic 列表__Topic 相關接口_Open API_消息隊列 MQ-阿裏雲
  下一篇:go 搜索指定 Topic 詳細信息__Topic 相關接口_Open API_消息隊列 MQ-阿裏雲