使用确认消息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>
- 请求的内容中没有句柄。