OnsMessageTrace - 查看消息消费结果

调用OnsMessageTrace根据Message ID来判断目标消息是否曾被消费过。

接口说明

注意 阿里云提供的 OpenAPI 属于管控类 API,用于管理和查询阿里云服务的相关资源。仅推荐在管控链路集成,消息收发的核心数据链路中严禁依赖 OpenAPI 实现,否则可能会导致链路产生风险。

  • 本接口一般在消费异常,需要判断消息消费状态,初步排查原因时使用。

  • 本接口的实现基于云消息队列 RocketMQ 版的内部位点机制,在大部分场景下判断结果可信,但如果应用方进行过重置位点已经清除消息等操作,则判断结果可能有误。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
mq:QueryMessageTraceRead
  • 全部资源
    *

请求参数

名称类型必填描述示例值
Topicstring

消息的 Topic。

test-mq_topic
MsgIdstring

需查询消息轨迹的消息 ID,即 Message ID。

1E05791C117818B4AAC23B1BB0CE****
InstanceIdstring

需查询的消息所对应的实例 ID。

MQ_INST_111111111111_DOxxxxxx

返回参数

名称类型描述示例值
object
RequestIdstring

公共参数,每个请求的 ID 都是唯一的,可用于排查和定位问题。

EAE5BE23-37A1-4354-94D6-E44AE17E****
Dataobject []

查询结果。

TrackTypestring

当前状态。取值说明如下:

  • CONSUMED:已消费。
  • CONSUMED_BUT_FILTERED:不符合 Group ID 的订阅条件,消息已被过滤,未消费。
  • NOT_CONSUME_YET:暂未消费。
  • NOT_ONLINE:客户端不在线。
  • UNKNOWN:其他问题。
CONSUMED
ConsumerGroupstring

订阅该 Topic 的消费者所对应的 Group ID。

GID_test_group_id
InstanceIdstring

需查询的消息所对应的实例 ID。

MQ_INST_111111111111_DOxxxxxx

示例

正常返回示例

JSON格式

{
  "RequestId": "EAE5BE23-37A1-4354-94D6-E44AE17E****",
  "Data": {
    "MessageTrack": [
      {
        "TrackType": "CONSUMED",
        "ConsumerGroup": "GID_test_group_id",
        "InstanceId": "MQ_INST_111111111111_DOxxxxxx"
      }
    ]
  }
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
暂无变更历史

控制台操作

除了调用 OnsMessageTrace 接口,您还可以通过云消息队列 RocketMQ 版控制台查看消息的消费状态。具体操作,请参见查询消息轨迹