全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
消息队列 MQ

查询指定发布信息

更新时间:2017-12-15 20:40:41

发布信息查询

OnsPublishGet 接口用于查询指定 PID 的详细信息。

使用场景

调用 OnsPublishGet 接口一般用于发布信息的展示和查询。

请求参数列表

名称 类型 是否必须 描述
OnsRegionId String 当前查询 MQ 所在区域,可以通过 OnsRegionList 方法获取
OnsPlatform String 该请求来源,默认是从 POP 平台
PreventCache Long 用于 CSRF 校验,设置为系统当前时间即可
ProducerId String 需要查询的发布关系的 PID
Topic String 需要查询的 Topic

返回参数列表

名称 类型 描述
RequestId String 为公共参数,每个请求独一无二
HelpUrl String 帮助链接
Data List(PublishInfoDo) 查询结果集合

PublishInfoDo 数据结构

成员 类型 描述
id Long 该发布信息在数据库中的 ID
channelId Integer 该 Topic 所在区域 ID,0-ALIYUN,1-CLOUD,2,3,4
channelName String 该 Topic 所在区域名称,ALIYUN 代表阿里云,CLOUD 代表聚石塔,...
onsRegionId Long 该 Topic 所在区域 ID,就是 ONSRegionList 方法获取的内容
regionName String 该 Topic 所在区域名称
topic String Topic 名称
owner String Topic 所有者编号
relation Integer 所有关系编号1为持有者,2为可以发布,4为可以订阅,6为可以发布和订阅
relationName String 所有关系名称,例如持有者、可订阅、可发布、可发布订阅
status Integer 当前状态编号0--服务中
statusName String 当前状态别名,服务中,
appkey Integer null
createTime Long 创建时间
updateTime Long 更新时间
remark String 备注,可以不填

相关 API

  • OnsPublishDelete:删除发布关系
  • OnsPublishList:获取发布关系列表
  • OnsPublishCreate:新建发布关系

使用示例

以下示例用于查询 daily 区域名为 PID_Mingduan 的 PID 信息,并打印主要属性。


   public static void main(String []args) {
            String regionId = "cn-hangzhou";
            String accessKey = "XXXXXXXXXXXXXXXXX";
            String secretKey = "XXXXXXXXXXXXXXXXX";
            String endPointName ="cn-hangzhou";
            String productName ="Ons";
            String domain ="ons.cn-hangzhou.aliyuncs.com";

            /**
            *根据自己需要访问的区域选择 Region,并设置对应的接入点
            */
            try {
                DefaultProfile.addEndpoint(endPointName,regionId,productName,domain);
            } catch (ClientException e) {
                e.printStackTrace();
            }
            IClientProfile profile= DefaultProfile.getProfile(regionId,accessKey,secretKey);
            IAcsClient iAcsClient= new DefaultAcsClient(profile);
           OnsPublishGetRequest request = new OnsPublishGetRequest();
            /**
            *ONSRegionId 是指你需要 API 访问 MQ 哪个区域的资源.
            *该值必须要根据 OnsRegionList 方法获取的列表来选择和配置,因为 OnsRegionId 是变动的,不能够写固定值
            */
           request.setOnsRegionId("daily");
           request.setPreventCache(System.currentTimeMillis());
           request.setAcceptFormat(FormatType.JSON);
           request.setTopic("MingduanTest");
           request.setProducerId("PID_Mingduan");
           try {
               OnsPublishGetResponse response=iAcsClient.getAcsResponse(request);
               List<OnsPublishGetResponse.PublishInfoDo> publishInfoDoList =response.getData();
               for (OnsPublishGetResponse.PublishInfoDo publishInfoDo:publishInfoDoList){
                   System.out.println(publishInfoDo.getId()+"  "+
                   publishInfoDo.getChannelId()+"  "+
                   publishInfoDo.getChannelName()+"  "+
                   publishInfoDo.getOnsRegionId()+"  "+
                   publishInfoDo.getRegionName()+"  "+
                   publishInfoDo.getOwner()+"  "+
                   publishInfoDo.getProducerId()+"  "+
                   publishInfoDo.getTopic()+"  "+
                   publishInfoDo.getStatus()+"  "+
                   publishInfoDo.getStatusName()+"  "+
                   publishInfoDo.getCreateTime()+"  "+
                   publishInfoDo.getUpdateTime());
               }
           } catch (ServerException e) {
               e.printStackTrace();
           } catch (ClientException e) {
               e.printStackTrace();
           }
       }
本文导读目录