文档

DeleteMessage

更新时间:

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

授权信息

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

NameValue
APIDeleteMessage
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参数

    参数名称类型是否必选示例值描述
    ReceiptHandleStringMbZj6wDWli+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状态码描述内容
InvalidArgumentThe value of Element should between Low and High seconds/bytes.400参数值非法,请根据提示调整。
ReceiptHandleErrorThe receipt handle you provide is not valid.400请求参数不合法。
QueueNotExistThe queue name you provided is not exist.404队列不存在,请先创建队列。
MessageNotExistThe receipt handle you provided has expired.404消费消息过慢导致消息重新回到队列生成新的ReceiptHandle,之前的ReceiptHandle失效。请加快消费速度或者增加队列的不可见时间。