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


查询指定 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-阿里云