发布信息查询
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();
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。