Exclua várias mensagens de uma fila.
Autorização
Por padrão, apenas contas Alibaba Cloud podem chamar esta operação. Usuários RAM só podem executar essa ação após receberem as permissões necessárias. A tabela a seguir descreve as informações de autorização desta operação. Para obter mais informações, consulte Authorization policies and examples.
|
Item |
Valor |
|
Operação da API |
BatchDeleteMessage |
|
Ação |
mns:BatchDeleteMessage |
|
Recurso |
acs:mns:$region:$accountid:/queues/$queueName/messages |
Descrição
Use esta operação para excluir várias mensagens de uma fila. O limite máximo é de 16 mensagens por chamada. Inclua o receipt handle de cada mensagem a ser excluída na requisição.
Recomendamos usar este recurso em conjunto com a operação BatchReceiveMessage para melhorar a eficiência. Uma requisição de exclusão em lote contém várias sub-requisições e algumas podem falhar. O código de status HTTP 204 retorna apenas se todas as sub-requisições forem bem-sucedidas. Se houver falhas parciais, verifique a mensagem de erro em cada resposta.
Requisição
Uma requisição consiste nas seguintes partes:
-
Linha de requisição
DELETE /queues/$queueName/messages HTTP/1.1 -
Cabeçalhos de requisição específicos da operação
Nenhum.
-
Corpo da requisição
O corpo da requisição está no formato XML. Inclua o receipt handle de cada mensagem que deseja excluir na requisição.
Resposta
Uma resposta consiste nas seguintes partes:
-
Código de status HTTP
HTTP/1.1 204 NoContent -
Cabeçalhos de resposta específicos da operação
Nenhum.
-
Corpo da resposta
Nenhum.
Exemplos
Exemplos de requisições
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>
Exemplos de respostas
-
Exemplo de resposta de sucesso quando todas as mensagens são excluídas
HTTP/1.1 204 No Content x-mns-request-id:512B2A634403E52B1956**** x-mns-version: 2015-06-06 -
Exemplo de resposta quando há falha na exclusão de algumas mensagens
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
|
Código de erro |
Código de status HTTP |
Mensagem de erro |
Descrição |
|
QueueNotExist |
404 |
The queue name you provided does not exist. |
A fila especificada não existe. Verifique o nome da fila na URI da requisição. |
|
InvalidArgument |
400 |
The value of Element should between Low and High seconds/bytes. |
Um valor de parâmetro está fora do intervalo válido. Verifique se os parâmetros da requisição respeitam os intervalos permitidos. |
|
ReceiptHandleError |
400 |
The receipt handle you provided is not valid. |
O receipt handle expirou porque |