使用確認訊息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響應內容
無
請求失敗
響應行
HTTP/1.1 404響應內容
參見響應樣本
樣本
請求樣本
<?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>