开发者社区> 问答> 正文

如何查询指定发布信息

发布信息查询

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();
           }
       }

展开
收起
猫饭先生 2017-10-27 13:33:43 1690 0
0 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《开放搜索查询分析服务架构分享》 立即下载
阿里云搜索产品年度升级发布 立即下载
4.29【阿里云5大安全产品全面升级在线发布-会后分享文档】 立即下载