通过传入 Message ID 查询指定消息的信息以及判断该指定的消息是否曾被消费过。
接口说明
注意 阿里云提供的 OpenAPI 属于管控类 API,用于管理和查询阿里云服务的相关资源。仅推荐在管控链路集成,消息收发的核心数据链路中严禁依赖 OpenAPI 实现,否则可能会导致链路产生风险。
-
如遇消息消费有问题,则可通过该接口查询具体发送的消息内容来排查问题。
-
根据 Message ID 查询消息的方式属于精确查询,查询条件需要的 Message ID 从每次消息发送成功的 SendResult 中获取,因此业务方必须存储每次发送消息的结果。查询到的信息包括发送时间、存储服务器和消息的 Key 和 Tag 等属性。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
mq:QueryMessage | get | *Topic acs:mq:{#regionId}:{#accountId}:{#TopicName} *Topic acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName} |
|
|
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
MsgId | string | 是 | 需查询的消息的 ID,即 Message ID。 | 1E0578FE110F18B4AAC235C05F2***** |
Topic | string | 是 | 需查询的消息的 Topic。 | test-mq_topic |
InstanceId | string | 是 | 需查询消息所对应的实例 ID。 | MQ_INST_111111111111_DOxxxxxx |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "A07E3902-B92E-44A6-B6C5-6AA111111****",
"Data": {
"StoreSize": 407,
"ReconsumeTimes": 1,
"StoreTimestamp": 1570761026708,
"InstanceId": "MQ_INST_111111111111_DOxxxxxx",
"MsgId": "1E0578FE110F18B4AAC235C0C8460BA2",
"StoreHost": "11.220.***.***:10911",
"Topic": "test-mq_topic",
"PropertyList": {
"MessageProperty": [
{
"Value": "TagA",
"Name": "TAGS"
}
]
},
"BornTimestamp": 1570761026630,
"BodyCRC": 914112295,
"BornHost": "42.120.**.**:64646"
}
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|
暂无变更历史
控制台操作
除了调用 OnsMessageGetByMsgId 接口,您还可以通过消息队列 RocketMQ 版控制台查看消息的详细信息。具体操作,请参见消息查询。