调用OnsConsumerResetOffset重置指定的Group ID的消费位点到指定时间戳。

使用说明

本接口一般用于清理堆积消息,或者回溯消费。有以下两种清理方式:

  • 清理所有消息
  • 清理消费进度到指定的时间

QPS限制

本接口的单用户QPS限制为10次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制

授权信息

默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。本接口的授权信息如下表所示。更多信息,请参见权限策略和示例

API

Action

Resource(有命名空间)

Resource(无命名空间)

OnsConsumerResetOffset

mq:ResetConsumerOffset

cs:mq:*:*:{instanceId}%{topic}

acs:mq:*:*:{topic}

请求参数

名称 类型 是否必选 示例值 描述
Action String OnsConsumerResetOffset

系统规定参数。取值:OnsConsumerResetOffset

GroupId String GID_test_consumer_id

需查询的消费端Group ID。

InstanceId String MQ_INST_111111111111_DOxxxxxx

需查询的Group ID所对应的实例ID。

Topic String test-mq-topic

需重置位点的Topic。

Type Integer 1

消息清理类型。取值说明如下:

  • 0:清除所有消息。该Group ID在消费该Topic下的消息时会跳过当前堆积(未被消费)的所有消息,从这之后发送的最新消息开始消费。

    对于程序返回"reconsumeLater",即走重试流程的这部分消息来说,清除无效。

  • 1:清理到指定时间。请指定一个时间点,这个时间点之后发送的消息才会被消费。

    可选时间范围中的起始和终止时间分别是该Topic中储存的最早的和最晚的一条消息的生产时间。不能选择超过可选时间范围的时间点。

ResetTimestamp Long 1591153871000

重置位点到指定的时间戳,仅在Type1时生效。单位:毫秒。

返回数据

名称 类型 示例值 描述
RequestId String D52C68F8-EC5D-4294-BFFF-1A6A25AF****

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

示例

请求示例

http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsConsumerResetOffset
&GroupId=GID_test_consumer_id
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&Topic=test-mq-topic
&Type=1
&ResetTimestamp=1591153871000
&<公共请求参数>

正常返回示例

XML格式

<OnsConsumerResetOffsetResponse>
      <RequestId>D52C68F8-EC5D-4294-BFFF-1A6A25AF****</RequestId>
</OnsConsumerResetOffsetResponse>

JSON格式

{
	"RequestId": "D52C68F8-EC5D-4294-BFFF-1A6A25AF****"
}

错误码

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

控制台操作

除了调用OnsConsumerResetOffset接口,您还可以通过消息队列RocketMQ版控制台重置指定Group ID的消费位点。具体操作,请参见重置消费位点