调用DeleteMessage接口删除已经被消费过的消息。

授权信息

默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。本接口的授权信息如下表所示。更多信息,请参见授权策略和示例

Name Value
API DeleteMessage
RAM授权操作 mns:DeleteMessage
资源 acs:mns:$region:$accountid:/queues/$queueName/messages

使用说明

该接口用于删除已经被消费过的消息,消费者需将上次消费后得到的ReceiptHandle作为参数来定位要删除的消息。本操作只有在NextVisibleTime之前执行才能成功。如果超过NextVisibleTime设置的时间,消息重新变回Active状态,ReceiptHandle就会失效。此时,需重新消费获取新的ReceiptHandle。

请求消息

请求消息由请求行、特有URL参数、HTTP头和消息体四部分组成:

  • 请求行

    DELETE /queues/$queueName/messages?ReceiptHandle=<receiptHandle> HTTP/1.1

  • 特有URI参数

    参数名称 类型 是否必选 示例值 描述
    ReceiptHandle String MbZj6wDWli+QEauMZc8ZRv37sIW2iJKq3M9Mx/KSbkJ0 上次消费后返回的消息的ReceiptHandle。更多信息,请参见ReceiveMessage
  • 特有Request Header

    无。

  • Request Body

    无。

返回消息

返回消息由返回状态行,HTTP头和消息体三部分组成:

  • HTTP Status Code

    HTTP/1.1 204 No Content

  • 特有Response Header

    无。

  • Response Body

    无。

示例

请求示例:

DELETE  /queues/$queueName/messages?ReceiptHandle=MbZj6wDWli+QEauMZc8ZRv37sIW2iJKq3M9Mx/KSbkJ0 HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXA****          

返回示例:

HTTP/1.1 204 No Content
x-mns-request-id:512B2A634403E52B1956****
x-mns-version: 2015-06-06           

错误码

错误码 错误信息 HTTP状态码 描述内容
InvalidArgument The value of Element should between Low and High seconds/bytes. 400 参数值非法,请根据提示调整。
ReceiptHandleError The receipt handle you provide is not valid. 400 请求参数不合法。
QueueNotExist The queue name you provided is not exist. 404 队列不存在,请先创建队列。
MessageNotExist The receipt handle you provided has expired. 404 消费消息过慢导致消息重新回到队列生成新的ReceiptHandle,之前的ReceiptHandle失效。请加快消费速度或者增加队列的不可见时间。