本接口限企业铂金版客户专用,请前往铂金版购买页面查看详情。
OnsTraceQueryByMsgId 接口通过传入 Topic 和 Message ID 创建轨迹查询任务,得到该查询任务的任务 ID。
使用场景
业务方记录了某消息的 Message ID,并需要根据此 Message ID 查询该消息的投递轨迹信息,即可使用 OnsTraceQueryByMsgId 接口创建查询任务。该接口返回任务 ID 后,根据OnsTraceGetResult 接口传入任务 ID 即可获取查询结果。
请求参数列表
名称 类型 是否必须 描述
OnsRegionId String 是 当前查询 MQ 所在区域,可以通过 OnsRegionList 方法获取
OnsPlatform String 否 该请求的来源,默认是从 POP 平台
PreventCache Long 是 用于 CSRF 校验,设置为系统当前时间即可
Topic String 是 需要查询的消息的 Topic
MsgId String 是 需要查询的消息的 Message ID
BeginTime Long 是 查询的时间范围的起始时间点
EndTime Long 是 查询的时间范围的结束时间点
返回参数列表
名称 类型 描述
RequestId String 为公共参数,每个请求独一无二
HelpUrl String 帮助链接
QueryId String 该查询任务的任务 ID,根据该 ID 再调用 OnsTraceGetResult 接口获取详细结果
相关 API
OnsTraceQueryByMsgKey:根据 Message Key 模糊查询消息轨迹。
OnsTraceGetResult:根据查询任务 ID 获取轨迹信息。
使用示例
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);
OnsTraceQueryByMsgIdRequest request = new OnsTraceQueryByMsgIdRequest();
/**
*ONSRegionId是指你需要API访问MQ哪个区域的资源.
*该值必须要根据OnsRegionList方法获取的列表来选择和配置,因为OnsRegionId是变动的,不能够写固定值
*/
request.setOnsRegionId("daily");
request.setPreventCache(System.currentTimeMillis());
request.setAcceptFormat(FormatType.JSON);
request.setTopic("XXXXX");
request.setMsgId("XXXXX");
request.setBeginTime(System.currentTimeMillis()-1000*3600*24);
request.setEndTime(System.currentTimeMillis());
try {
OnsTraceQueryByMsgIdResponse response = iAcsClient.getAcsResponse(request);
System.out.print(response.getQueryId());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。