使用确认消息 API 确认消息消费状态。

请求构造

  • 请求行

    DELETE /topics/TopicName/messages?ns=INSTANCE_ID&consumer=GID HTTP/1.1

    参数说明如下。

    参数 是否必选 说明
    TopicName 将消息发送至的 Topic 名称
    ns 实例 ID,针对有命名空间的新建实例,该参数为必填;是否有命名空间可以在控制台实例详情页面查看。实例根据其是否有命名空间分为默认实例和新建实例:
    • 默认实例:无命名空间,所有资源命名在该默认实例内需全局唯一;
    • 新建实例:有命名空间,资源命名只需保证在该实例内唯一。
    详情请参见产品更新日志
    consumer 消费者群组标识,即 Group ID
  • 请求内容(XML 格式)

    请求内容的参数说明如下。

    参数 是否必选 说明
    ReceiptHandle 通过订阅消息 API获取到的消息句柄,用于确认消息是否消费成功;句柄用且仅能使用一次,对于同一条消息如果存在重试每次拿到的句柄不同,消息句柄应在 NextConsumeTime 之前使用

响应构造

  • 请求成功
    • 响应行

      HTTP/1.1 204

    • 响应内容

  • 请求失败

示例

  • 请求示例
    <?xml version="1.0" encoding="UTF-8"?>
    <ReceiptHandles xmlns="http://mq.aliyuncs.com/doc/v1/">
    <ReceiptHandle>1E057D5E6EAD42A57993704EC383****-MTI5NT****</ReceiptHandle>
    <ReceiptHandle>1E057D5E6EAD42A57993704EC383****-MTI5NT****</ReceiptHandle>
    <ReceiptHandle>1E057D5E6EAD42A57993704EC383****-MTI5NT****</ReceiptHandle>
    </ReceiptHandles>       
  • 响应示例
    • 请求的内容中没有句柄
          <?xml version="1.0" ?>
          <Error xmlns="http://mq.aliyuncs.com/doc/v1">
      <Code>MissingReceiptHandle</Code>
      <Message>ReceiptHandle is required.</Message>
      <RequestId>5DAEF2B9463541AD6E04490F</RequestId>
      <HostId>http://123.mqrest.cn-hangzhou.aliyuncs.com</HostId>
          </Error>               
    • 请求的句柄错误,错误的句柄是:adfadfadf
          <?xml version="1.0" ?>
          <Errors xmlns="http://mq.aliyuncs.com/doc/v1">
      <Error>
              <ErrorCode>ReceiptHandleError</ErrorCode>
              <ErrorMessage>The receipt handle you provide is not valid.</ErrorMessage>
              <ReceiptHandle>adfadfadf</ReceiptHandle>
      </Error>
          </Errors>                
    • 请求的句柄过期,即使用句柄确认消息的时候超过了消息的 NextConsumeTime 时间
          <?xml version="1.0" ?>
          <Errors xmlns="http://mq.aliyuncs.com/doc/v1">
      <Error>
              <ErrorCode>MessageNotExist</ErrorCode>
              <ErrorMessage>The receipt handle you provided has expired.</ErrorMessage>
              <ReceiptHandle>1E057D5E6EAD42A57993704EC383****-MTI5NT****</ReceiptHandle>
      </Error>
          </Errors>