使用确认消息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>
 
该文章对您有帮助吗?