Todos os produtos
Search
Central de documentação

Simple Message Queue (formerly MNS):BatchDeleteMessage

Última atualização: Jun 27, 2026

Exclua até 16 mensagens de uma fila em uma única solicitação.

Importante

Uma solicitação de exclusão em lote contém várias subsolicitações. Algumas podem falhar enquanto outras são bem-sucedidas. O código de status HTTP 204 é retornado apenas quando todas as subsolicitações têm êxito. Se alguma subsolicitação falhar, verifique os detalhes de erro de cada entrada com falha no corpo da resposta.

Nome

Valor

API

BatchDeleteMessage

Ação

mns:BatchDeleteMessage

Recurso

acs:mns:$region:$accountid:/queues/$queueName/messages

Funcionamento

Para excluir mensagens de uma fila, envie os receipt handles correspondentes em uma solicitação BatchDeleteMessage. Um receipt handle é retornado na resposta de uma chamada ReceiveMessage ou BatchReceiveMessage e identifica exclusivamente um evento de recebimento específico.

O ciclo de vida da mensagem segue estas etapas:

  1. Receba mensagens da fila (ReceiveMessage ou BatchReceiveMessage).

  2. Processe cada mensagem na aplicação.

  3. Exclua as mensagens processadas (DeleteMessage ou BatchDeleteMessage).

Combine BatchReceiveMessage com BatchDeleteMessage para reduzir o número de chamadas de API e melhorar o throughput.

Sintaxe da solicitação

DELETE /queues/$queueName/messages HTTP/1.1

Cabeçalhos

Não há cabeçalhos de solicitação específicos para esta operação. Para cabeçalhos comuns, consulte Parâmetros comuns.

Corpo

O corpo da solicitação está no formato XML. Inclua cada receipt handle em um elemento <ReceiptHandle> dentro de um elemento raiz <ReceiptHandles>.

Schema:

<ReceiptHandles xmlns="http://mns.aliyuncs.com/doc/v1/">
    <ReceiptHandle>string</ReceiptHandle>
    <ReceiptHandle>string</ReceiptHandle>
    <!-- Up to 16 entries -->
</ReceiptHandles>

Elemento

Tipo

Obrigatório

Descrição

ReceiptHandles

Container

Sim

Elemento raiz que contém um ou mais elementos filhos ReceiptHandle.

ReceiptHandle

String

Sim

Receipt handle retornado por ReceiveMessage ou BatchReceiveMessage. Cada handle identifica um evento de recebimento específico para uma mensagem.

Resposta

Êxito (todas as mensagens excluídas)

Código de status HTTP: 204 NoContent

Não há cabeçalhos de resposta ou corpo de resposta específicos para esta operação.

Falha parcial

Quando uma ou mais subsolicitações falham, a resposta inclui um código de status de erro HTTP e um corpo XML que lista cada entrada com falha.

Schema:

<Errors xmlns="http://mns.aliyuncs.com/doc/v1/">
    <Error>
        <ErrorCode>string</ErrorCode>
        <ErrorMessage>string</ErrorMessage>
        <ReceiptHandle>string</ReceiptHandle>
    </Error>
</Errors>

Elemento

Tipo

Descrição

Errors

Container

Elemento raiz que contém um ou mais elementos filhos Error.

Error

Container

Detalhes de uma única exclusão com falha.

ErrorCode

String

Código de erro legível por máquina. Consulte Códigos de erro.

ErrorMessage

String

Descrição do erro legível por humanos.

ReceiptHandle

String

Receipt handle da mensagem cuja exclusão falhou. Compare este valor com os handles da solicitação para identificar qual mensagem não foi excluída.

Exemplos

Solicitação

DELETE /queues/$queueName/messages 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****

<?xml version="1.0" encoding="UTF-8"?>
<ReceiptHandles xmlns="http://mns.aliyuncs.com/doc/v1/">
    <ReceiptHandle>1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
    <ReceiptHandle>1-ODU4OTkzNDU5NC0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
    <ReceiptHandle>1-ODU4OTkzNDU5NS0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
</ReceiptHandles>

Resposta (êxito)

Todas as três mensagens foram excluídas:

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

Resposta (falha parcial)

Duas das três mensagens não foram excluídas porque não existem mais na fila:

HTTP/1.1 404
Connection: close
Content-Type: text/xml;charset=utf-8
Content-Length: 500
x-mns-request-id: 512B2A634403E52B1956****
x-mns-version: 2015-06-06

<?xml version="1.0" encoding="UTF-8"?>
<Errors xmlns="http://mns.aliyuncs.com/doc/v1/">
    <Error>
        <ErrorCode>MessageNotExist</ErrorCode>
        <ErrorMessage>Message not exist.</ErrorMessage>
        <ReceiptHandle>1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
    </Error>
    <Error>
        <ErrorCode>MessageNotExist</ErrorCode>
        <ErrorMessage>Message not exist.</ErrorMessage>
        <ReceiptHandle>1-ODU4OTkzNDU5NC0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
    </Error>
</Errors>

Códigos de erro

Os erros abaixo são específicos do BatchDeleteMessage. Para erros comuns, consulte Códigos de erro comuns.

Código de erro

Mensagem de erro

Código de status HTTP

Descrição

QueueNotExist

The queue name you provided is not exist.

404

A fila especificada não existe. Verifique o nome da fila na URL da solicitação.

InvalidArgument

The value of Element should between Low and High seconds/bytes.

400

Um parâmetro da solicitação está fora do intervalo válido. Confirme se todos os valores atendem às restrições documentadas.

ReceiptHandleError

The receipt handle you provide is not valid.

400

O receipt handle está malformado ou expirou. Receba a mensagem novamente para obter um novo receipt handle.