全部產品
Search
文件中心

Simple Message Queue (formerly MNS):DeleteMessage

更新時間:Oct 25, 2024

調用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失效。請加快消費速度或者增加隊列的不可見時間。