全部產品
Search
文件中心

ApsaraMQ for RocketMQ:確認訊息API

更新時間:Jul 01, 2024

使用確認訊息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>