すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for RocketMQ:消費済みメッセージの確認

最終更新日:Mar 12, 2026

DELETE リクエストを送信して、メッセージが正常に処理されたことを確認します。確認後、ApsaraMQ for RocketMQ はコンシューマーグループへのメッセージの再配信を停止します。

リクエストボディは複数の ReceiptHandle 要素を受け入れ、1 回のリクエストでメッセージのバッチを確認できます。各メッセージの ReceiptHandle は、メッセージの消費操作から取得します。

リクエスト構文

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

リクエストパラメーター

URI パラメーター

パラメーター必須説明
TopicNameはいメッセージの送信先トピックの名前。
nsいいえインスタンス ID。名前空間を持つインスタンスに必須です。
consumerはいコンシューマーグループのグループ ID。

ns パラメーターについて

ApsaraMQ for RocketMQ には 2 種類のインスタンスがあります:

  • デフォルトインスタンス:名前空間がありません。デフォルトインスタンス内のすべてのリソース名は、グローバルに一意である必要があります。ns パラメーターは不要です。

  • 新しいインスタンス:名前空間があります。リソース名はインスタンス内で一意であれば問題ありません。ns パラメーターは必須です。

インスタンスに名前空間があるかどうかを確認するには、ApsaraMQ for RocketMQ コンソールの [インスタンス] ページに移動します。詳細については、「インスタンスの使用」をご参照ください。

リクエストボディ (XML)

<?xml version="1.0" encoding="UTF-8"?>
<ReceiptHandles xmlns="http://mq.aliyuncs.com/doc/v1/">
  <ReceiptHandle>receipt-handle-1</ReceiptHandle>
  <ReceiptHandle>receipt-handle-2</ReceiptHandle>
</ReceiptHandles>
パラメーター必須説明
ReceiptHandleはいメッセージの消費操作によって返されるメッセージハンドル。メッセージが正常に消費されたかどうかを検証するために使用されます。メッセージごとに 1 つの <ReceiptHandle> 要素を含めます。
重要

受信ハンドルの制約:

  • 1 回限りの使用:各受信ハンドルは 1 回しか使用できません。確認が成功すると、ハンドルは無効化されます。

  • 配信ごとに一意:同じメッセージの各配信 (消費リトライによる再配信を含む) は、異なる受信ハンドルを生成します。常に最新のハンドルを使用してください。

  • 時間制限:受信ハンドルは、消費操作によって返される NextConsumeTime で期限切れになります。この期限までに確認を送信しないと、MessageNotExist エラーが返されます。

レスポンス

成功

HTTP/1.1 204

レスポンスボディは返されません。

失敗

HTTP/1.1 404

レスポンスボディには XML エラーが含まれています。詳細については、「エラーコード」をご参照ください。

エラーコード

エラーコードHTTP ステータス説明
MissingReceiptHandle404リクエストボディに ReceiptHandle 要素が含まれていません。少なくとも 1 つの受信ハンドルを含めてください。
ReceiptHandleError404受信ハンドルの形式が不正か、無効です。消費操作によって返されたハンドルの値を確認してください。
MessageNotExist404受信ハンドルの有効期限が切れています。これは、NextConsumeTime の後に確認が送信された場合に発生します。メッセージを再度消費して、新しい受信ハンドルを取得してください。

リクエスト例

DELETE /topics/MyTopic/messages?ns=MQ_INST_1234567890&consumer=GID_test_consumer HTTP/1.1
<?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>

成功レスポンス例

HTTP/1.1 204

エラーレスポンス例

受信ハンドルが見つからない場合

<?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 in this example) が無効な場合に返されるエラー:

<?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>

関連ドキュメント