Eliminar Mensagem (Armazenamento do Azure)

A Delete Message operação elimina a mensagem especificada da fila.

Pedir

Pode construir o pedido da Delete Message seguinte forma. É recomendado HTTPS.

Método URI do pedido Versão HTTP
DELETE https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=string-value HTTP/1.1

Substitua myaccount pelo nome da sua conta de armazenamento, myqueue pelo nome da fila e string-value pelo valor do recibo pop que foi obtido para que a mensagem seja eliminada.

URI do serviço de armazenamento emulado

Quando fizer um pedido contra o serviço de armazenamento emulado, especifique o nome do anfitrião do emulador e a porta do Armazenamento de Filas do Azure como 127.0.0.1:10001, seguido do nome da conta de armazenamento emulada.

Método URI do pedido Versão HTTP
DELETE http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=string-value HTTP/1.1

Parâmetros URI

O URI do pedido suporta os seguintes parâmetros.

Parâmetro Description
popreceipt Obrigatório. Um valor de recibo pop válido devolvido a partir de uma chamada anterior para a operação Obter Mensagens ou Atualizar Mensagem .
timeout Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja Setting timeouts for Queue Storage operations (Definir tempos limite para operações de Armazenamento de Filas).

Cabeçalhos do pedido

A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais.

Cabeçalho do pedido Description
Authorization Obrigatório. Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
Date ou x-ms-date Obrigatório. Especifica a Hora Universal Coordenada (UTC) do pedido. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
x-ms-version Opcional. Especifica a versão da operação a utilizar para este pedido. Para obter mais informações, veja Controlo de versões dos serviços de Armazenamento do Azure.
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de carateres de 1 kibibyte (KiB) que é registado nos registos quando o registo é configurado. Recomendamos vivamente que utilize este cabeçalho para correlacionar as atividades do lado do cliente com os pedidos que o servidor recebe. Para obter mais informações, veja Monitorizar o Armazenamento de Filas do Azure.

Corpo do pedido

Nenhum.

Resposta

A resposta inclui um código de estado HTTP e um conjunto de cabeçalhos de resposta.

Código de estado

Uma operação bem-sucedida devolve o código de estado 204 (Sem Conteúdo). Para obter informações sobre códigos de estado, veja Códigos de estado e de erro.

Cabeçalhos de resposta

A resposta para esta operação inclui os seguintes cabeçalhos. A resposta também inclui cabeçalhos HTTP padrão adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação do protocolo HTTP/1.1.

Cabeçalho do Pedido Description
x-ms-request-id Este cabeçalho identifica exclusivamente o pedido que foi feito e pode ser utilizado para resolver o pedido. Para obter mais informações, veja Resolver problemas de operações da API.
x-ms-version Indica a versão do Armazenamento de Filas utilizada para executar o pedido. Este cabeçalho é devolvido para pedidos feitos na versão 2009-09-19 e posterior.
Date Um valor de data/hora UTC que indica a hora em que a resposta foi iniciada. O serviço gera este valor.
x-ms-client-request-id Este cabeçalho pode ser utilizado para resolver problemas de pedidos e respostas correspondentes. O valor deste cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho, se estiver presente no pedido. O valor é, no máximo, 1024 carateres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente no pedido, este cabeçalho não estará presente na resposta.

Corpo da resposta

Nenhum.

Autorização

O proprietário da conta pode efetuar esta operação. Além disso, qualquer pessoa com uma assinatura de acesso partilhado que tenha permissão para efetuar esta operação pode executá-la.

Observações

Quando elimina uma mensagem com êxito, esta é imediatamente marcada para eliminação e já não está acessível aos clientes. A mensagem é posteriormente removida da fila durante a recolha do lixo.

Depois de um cliente obter uma mensagem com a operação Obter Mensagens , espera-se que o cliente processe e elimine a mensagem. Para eliminar a mensagem, tem de ter dois itens de dados devolvidos no corpo de resposta da Get Messages operação:

  • O ID da mensagem, um valor GUID opaco que identifica a mensagem na fila.

  • Um recibo pop válido, um valor opaco que indica que a mensagem foi obtida.

O ID da mensagem é devolvido da operação anterior Get Messages . O recibo pop é devolvido da operação ou Update Message mais recenteGet Messages. Para que a Delete Message operação seja bem-sucedida, o recibo pop especificado no pedido tem de corresponder ao recibo pop devolvido da Get Messages operação ou Update Message .

Os recibos pop permanecem válidos até ocorrer um dos seguintes eventos:

  • A mensagem expira.

  • A mensagem é eliminada com o último recibo pop recebido, seja de Get Messages ou Update Message.

  • O tempo limite de invisibilidade expira e a mensagem é desativada por um Get Messages pedido. Quando o tempo limite de invisibilidade expirar, a mensagem fica novamente visível. Se for obtido por outro Get Messages pedido, o recibo pop devolvido pode ser utilizado para eliminar ou atualizar a mensagem.

  • A mensagem é atualizada com um novo tempo limite de visibilidade. Quando a mensagem é atualizada, é devolvido um novo recibo pop.

Se não for encontrada uma mensagem com um recibo pop correspondente, o serviço devolve o código de erro 404 (Não Encontrado). Este erro ocorre nos casos listados anteriormente em que o recibo pop já não é válido.

Ver também

Autorizar pedidos para o Armazenamento do Azure
Códigos de estado e de erro
Códigos de erro do Armazenamento de Filas