调用OnsTraceQueryByMsgKey通过传入Topic名称和Message Key创建轨迹查询任务,得到该查询任务的ID。
使用说明
业务方记录了某消息的Message Key,并需要根据此Message Key查询该消息的投递轨迹信息,即可使用本接口创建查询任务。该接口返回任务ID后,再根据OnsTraceGetResult接口传入任务ID即可获取查询结果。
QPS限制
本接口的单用户QPS限制为30次/分钟。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制。
授权信息
默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。本接口的授权信息如下表所示。更多信息,请参见权限策略和示例。
API |
Action |
Resource(有命名空间) |
Resource(无命名空间) |
---|---|---|---|
OnsTraceQueryByMsgKey |
mq:QueryInstanceBaseInfo mq:QueryTrace |
acs:mq:*:*:{instanceId}%{topic} |
acs:mq:*:*:{topic} |
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | OnsTraceQueryByMsgKey |
系统规定参数。取值:OnsTraceQueryByMsgKey。 |
Topic | String | 是 | test |
需查询的消息的Topic。 |
MsgKey | String | 是 | ORDERID_100 |
需查询的消息的Message Key。 |
BeginTime | Long | 是 | 1570852800000 |
查询的时间范围的起始时间戳,单位:毫秒。 |
EndTime | Long | 是 | 1570968000000 |
查询的时间范围的结束时间戳,单位:毫秒。 |
InstanceId | String | 是 | MQ_INST_111111111111_DOxxxxxx |
需查询的消息的Topic所对应的实例ID。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | F8654231-122A-4DBD-801F-38E35538**** |
公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。 |
QueryId | String | 272967562652883649157096685**** |
该查询任务的ID,根据该任务ID再调用OnsTraceGetResult接口获取详细结果。 |
示例
请求示例
http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsTraceQueryByMsgKey
&BeginTime=1570852800000
&EndTime=1570968000000
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&MsgKey=ORDERID_100
&Topic=test
&<公共请求参数>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<OnsTraceQueryByMsgKeyResponse>
<RequestId>F8654231-122A-4DBD-801F-38E35538****</RequestId>
<QueryId>272967562652883649157096685****</QueryId>
</OnsTraceQueryByMsgKeyResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "F8654231-122A-4DBD-801F-38E35538****",
"QueryId" : "272967562652883649157096685****"
}
错误码
访问错误中心查看更多错误码。
控制台操作
除了调用OnsTraceQueryByMsgKey接口,您还可以通过消息队列RocketMQ版控制台创建消息轨迹查询任务。具体操作,请参见消息查询。