全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
消息队列 MQ

根据任务 ID 获取查询结果

更新时间:2017-09-19 16:25:44

本接口限企业铂金版客户专用,请前往铂金版购买页面查看详情。


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 模糊查询消息轨迹。

使用示例

  1. public static void main(String []args) {
  2. String regionId = "cn-hangzhou";
  3. String accessKey = "XXXXXXXXXXXXXXXXX";
  4. String secretKey = "XXXXXXXXXXXXXXXXX";
  5. String endPointName ="cn-hangzhou";
  6. String productName ="Ons";
  7. String domain ="ons.cn-hangzhou.aliyuncs.com";
  8. /**
  9. *根据自己需要访问的区域选择Region,并设置对应的接入点
  10. */
  11. try {
  12. DefaultProfile.addEndpoint(endPointNameregionIdproductNamedomain);
  13. } catch (ClientException e) {
  14. e.printStackTrace();
  15. }
  16. IClientProfile profile= DefaultProfile.getProfile(regionIdaccessKeysecretKey);
  17. IAcsClient iAcsClient= new DefaultAcsClient(profile);
  18. OnsTraceGetResultRequest request = new OnsTraceGetResultRequest();
  19. /**
  20. *ONSRegionId是指你需要API访问MQ哪个区域的资源.
  21. *该值必须要根据OnsRegionList方法获取的列表来选择和配置,因为OnsRegionId是变动的,不能够写固定值
  22. */
  23. request.setOnsRegionId("daily");
  24. request.setPreventCache(System.currentTimeMillis());
  25. request.setAcceptFormat(FormatType.JSON);
  26. request.setQueryId("XXXXX");
  27. try {
  28. OnsTraceGetResultResponse response = iAcsClient.getAcsResponse(request);
  29. } catch (ServerException e) {
  30. e.printStackTrace();
  31. } catch (ClientException e) {
  32. e.printStackTrace();
  33. }
本文导读目录