367
魔兽
消息轨迹查询__消息管理相关接口_Open API_消息队列 MQ-阿里云
本文档介绍 OnsMessageTrack 接口,该接口用于判断目标 MsgId 对应的消息是否已经消费过。
1. 使用场景
MessageTrack 接口一般用于判断指定的消息是否曾经被消费过,查询条件为单条消息的 MsgId。需要注意的是 MessagTrack 的实现基于 MQ 的内部位点机制,在大部分场景下判断结果可信,但如果应用方进行过重置位点已经清除消息等操作,则判断结果可能有误。
2. 请求参数列表
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
OnsRegionId | String | 是 | 当前查询 MQ 所在区域,可以通过 OnsRegionList 方法获取 |
OnsPlatform | String | 否 | 该请求来源,默认是从 POP 平台 |
PreventCache | Long | 是 | 用于 CSRF 校验,设置为系统当前时间即可 |
Topic | String | 是 | 消息的 Topic |
MsgId | String | 是 | 消息 ID |
3. 返回参数列表
名称 | 类型 | 描述 |
---|---|---|
RequestId | String | 为公共参数,每个请求独一无二 |
HelpUrl | String | 帮助链接 |
Data | List(MessageTrack) | 查询结果 |
MessageTrack 数据结构
名称 | 类型 | 描述 |
---|---|---|
ConsumerGroup | String | 消费集群名称 |
TrackType | String | 当前状态 |
ExceptionDesc | String | 异常描述 |
4. 相关 API
- OnsMessageGetByMsgId:根据 MsgId 精确查询消息
5. 使用示例
调用示例
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);
OnsMessageTraceRequest request = new OnsMessageTraceRequest();
/**
*ONSRegionId是指你需要API访问MQ哪个区域的资源.
*该值必须要根据OnsRegionList方法获取的列表来选择和配置,因为OnsRegionId是变动的,不能够写固定值
*/
request.setOnsRegionId("daily");
request.setPreventCache(System.currentTimeMillis());
request.setAcceptFormat(FormatType.JSON);
request.setTopic("MingduanTest");
request.setMsgId("0A91883700001F90000001BF4723CB3E");
try {
OnsMessageTraceResponse response=iAcsClient.getAcsResponse(request);
List<OnsMessageTraceResponse.MessageTrack> trackList =response.getData();
for (OnsMessageTraceResponse.MessageTrack track:trackList){
System.out.println(track.getConsumerGroup()+" "+track.getTrackType()+" "+track.getExceptionDesc());
}
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
最后更新:2016-11-23 16:04:04
上一篇:
查询消费进度__消费管理相关接口_Open API_消息队列 MQ-阿里云
下一篇:
根据 Key 查询消息__消息管理相关接口_Open API_消息队列 MQ-阿里云
ImageDetectionRequest__SDK·接口介绍_内容检测API文档_阿里绿网-阿里云
使用Logtail采集日志__logtail(Agent)_用户指南_日志服务-阿里云
LogHub-监控__Getting-Started_日志服务-阿里云
将路由器接口状态置为非激活__路由器接口相关接口_API参考_专有网络 VPC-阿里云
删除主机记录对应的解析记录__解析管理接口_API文档_云解析-阿里云
基础架构__产品简介_容器服务-阿里云
TextAntispamDetectionRequest__SDK·接口介绍_内容检测API文档_阿里绿网-阿里云
查看锁等待__锁等待管理_性能管理_用户指南(RDBMS)_数据管理-阿里云
阿里云八年蝶变,新一代布局,重装上阵
多行数据操作__Java-SDK_SDK 参考_表格存储-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云