DeleteMessage

调用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 must be between Low and High seconds/bytes.

400

参数值非法,请根据提示调整。

ReceiptHandleError

The receipt handle you provided is not valid.

400

请求参数不合法。

QueueNotExist

The queue name you provided does not exist.

404

队列不存在,请先创建队列。

MessageNotExist

The receipt handle you provided has expired.

404

消费消息过慢导致消息重新回到队列生成新的ReceiptHandle,之前的ReceiptHandle失效。请加快消费速度或者增加队列的不可见时间。