本接口限企业铂金版客户专用,请前往铂金版购买页面查看详情。
OnsTraceGetResultTest 接口通过传入轨迹查询任务的任务 ID 获取之前的轨迹查询结果。
使用场景
业务方已经根据 Message ID 或者 Message Key 创建了轨迹查询任务,并得到了查询任务的 ID。若需要根据该任务 ID 获取对应的轨迹结果的明细,调用该接口即可取出结果。因为消息轨迹查询任务耗时较多,创建任务后立即根据该接口获取结果可能为空,若遇到此情况,建议等待一段时间再重试。
请求参数列表
名称 类型 是否必须 描述
OnsRegionId String 是 设置所要查询的区域,具体值通过OnsRegionList接口获取
OnsPlatform String 否 该请求来源,默认是从 POP 平台
PreventCache Long 是 用于 CSRF 校验,设置为系统当前时间即可
QueryId String 是 需要提取轨迹查询结果的任务 ID
返回参数列表
名称 类型 描述
RequestId String 为公共参数,每个请求独一无二
HelpUrl String 帮助链接
TraceData TraceData 该查询任务的结果明细
TraceData数据结构
名称 类型 描述
queryId String 查询任务 ID
userId String 查询用户 ID
topic String 该查询任务的 Topic
msgId String 该查询任务对应的 Message ID
msgKey String 该查询任务对应的 Message Key
status String 该查询任务的结果,取值有“finish”,“working”,“removed”,分别代表“查询完成”,“查询中”,“任务已删除”
createTime Long 该查询任务的创建时间
updateTime Long 该查询任务的最后更新时间
traceList List(TraceMapDo) 该查询任务的匹配轨迹列表
TraceMapDo数据结构
名称 类型 描述
pubTime Long 消息发送时间
topic String 消息的 Topic
pubGroupName String 发送方客户端配置的 Produer ID
msgId String 消息的 Message ID
tag String 消息的Tag
msgKey String 消息的 Key
bornHost String 消息发送方的客户端地址
costTime Integer 发送耗时,单位毫秒
status String 发送状态,取值有“SEND_SUCCESS”,“SEND_FAILED”,“SEND_ROLLBACK”,“SEND_UNKNOWN”,“SEND_DELAY”,分别代表“发送成功”,“发送失败”,“事务消息回滚”,“事务消息未提交”,“定时(延时)消息定时中”
subList List(SubMapDo) 消息的消费轨迹列表
SubMapDo数据结构
名称 类型 描述
subGroupName String 消费方 Consumer ID
successCount Integer 该 Consumer ID 消费成功次数统计
failCount Integer 该 Consumer ID 消费失败次数统计
clientList List(SubClientInfoDo) 该 Consumer ID 客户端消费记录的明细列表
SubClientInfoDo数据结构
名称 类型 描述
subGroupName String 该客户端所属的 Consumer ID
subTime Long 消费开始时间戳
clientHost String 消费客户端的客户端地址
reconsumeTimes Integer 本地消费的投递轮次
costTime Integer 本次消费耗时,单位毫秒
status String 消费状态,取值有“CONSUME_FAILED”,“CONSUME_SUCCESS”,“CONSUME_NOT_RETURN”,分别代表“消费失败”,“消费成功”,“消费未返回结果”
相关 API
OnsTraceQueryByMsgId:根据 Message ID 精确查询消息轨迹。
OnsTraceQueryByMsgKey:根据 Message Key 模糊查询消息轨迹。
使用示例
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);
OnsTraceGetResultRequest request = new OnsTraceGetResultRequest();
/**
*ONSRegionId是指你需要API访问MQ哪个区域的资源.
*该值必须要根据OnsRegionList方法获取的列表来选择和配置,因为OnsRegionId是变动的,不能够写固定值
*/
request.setOnsRegionId("daily");
request.setPreventCache(System.currentTimeMillis());
request.setAcceptFormat(FormatType.JSON);
request.setQueryId("XXXXX");
try {
OnsTraceGetResultResponse response = iAcsClient.getAcsResponse(request);
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。