Partilhar via


Pré-visualizar Mensagens

A Peek Messages operação obtém uma ou mais mensagens da frente da fila, mas não altera a visibilidade da mensagem.

Pedir

Pode construir o pedido da Peek Messages seguinte forma. Recomendamos que utilize HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento e substitua myqueue pelo nome da fila:

Método URI do pedido Versão HTTP
GET https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true HTTP/1.1

Pedido de serviço de armazenamento emulado

Quando estiver a fazer um pedido relativamente ao serviço de armazenamento emulado, especifique o nome do anfitrião do emulador e a porta do serviço Fila como 127.0.0.1:10001, seguido do nome da conta de armazenamento emulada:

Método URI do pedido Versão HTTP
GET http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?peekonly=true HTTP/1.1

Para obter mais informações, veja Utilizar o emulador do Azurite para o desenvolvimento local do Armazenamento do Azure.

Parâmetros do URI

Os seguintes parâmetros podem ser especificados no URI do pedido.

Parâmetro Description
numofmessages Opcional. Um valor inteiro diferente de zero que especifica o número de mensagens a espreitar da fila, até um máximo de 32. Por predefinição, é pré-visualizada uma única mensagem da fila com esta operação.
timeout Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja Set time-outs for Queue service operations (Definir tempos limite para operações do serviço Fila).

Cabeçalhos do pedido

Os cabeçalhos de pedido obrigatórios e opcionais estão descritos na tabela seguinte:

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, um conjunto de cabeçalhos de resposta e um corpo de resposta XML.

Código de estado

Uma operação bem-sucedida devolve o código de estado 200 (OK).

Para obter mais 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 de resposta Descrição
x-ms-request-id Identifica exclusivamente o pedido que foi feito e pode utilizá-lo para resolver o pedido. Para obter mais informações, veja Resolver problemas de operações da API.
x-ms-version A versão do serviço Fila que foi utilizada para executar o pedido. Devolvido para pedidos efetuados na versão 2009-09-19 e posterior.
Date Um valor de data/hora UTC gerado pelo serviço, que indica a hora em que a resposta foi iniciada.
x-ms-client-request-id 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 e o valor não contiver mais de 1024 carateres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente no pedido, não estará presente na resposta.

Corpo da resposta

O XML de resposta para a Peek Messages operação é devolvido no seguinte formato.

O MessageID elemento é um valor GUID que identifica a mensagem na fila. Este valor é atribuído à mensagem pelo serviço Fila e é opaco para o cliente.

Os InsertionTime elementos e ExpirationTime são representados como valores UTC e formatados conforme descrito em RFC 1123.

O DequeueCount elemento tem um valor de 1 na primeira vez que a mensagem é colocada em fila. Este valor é incrementado sempre que a mensagem é posteriormente colocada em fila.

Nota

O DequeueCount elemento só é devolvido no corpo da resposta se a fila tiver sido criada com a versão do serviço Fila 2009-09-19.

<QueueMessagesList>  
    <QueueMessage>  
      <MessageId>string-message-id</MessageId>  
      <InsertionTime>insertion-time</InsertionTime>  
      <ExpirationTime>expiration-time</ExpirationTime>  
      <DequeueCount>integer</DequeueCount>  
      <MessageText>message-body</MessageText>  
    </QueueMessage>  
</QueueMessagesList>  

Nota

Esta resposta difere da resposta para a operação Obter Mensagens na medida em que não contém os PopReceipt elementos ou TimeNextVisible .

Resposta de amostra

Response Status:  
HTTP/1.1 200 OK  
  
Response Headers:  
Transfer-Encoding: chunked  
Content-Type: application/xml  
Date: Fri, 16 Sep 2011 22:51:18 GMT  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
  
Response Body:  
<?xml version="1.0" encoding="utf-8"?>  
<QueueMessagesList>  
  <QueueMessage>  
    <MessageId>06eba214-8107-4412-a7f6-710a9baff647</MessageId>  
    <InsertionTime>Fri, 09 Oct 2009 18:59:54 GMT</InsertionTime>  
    <ExpirationTime>Fri, 16 Sep 2009 18:59:54 GMT</ExpirationTime>  
    <DequeueCount>1</DequeueCount>  
    <MessageText>PHRlc3Q+dGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvdGVzdD4=</MessageText>  
  </QueueMessage>  
</QueueMessagesList>  

Autorização

Esta operação pode ser efetuada pelo proprietário da conta e por qualquer pessoa com uma assinatura de acesso partilhado que tenha permissão para efetuar esta operação.

Observações

Quando uma mensagem é obtida da fila com peekonly definido como true, a visibilidade da mensagem permanece inalterada. A mensagem permanece disponível para outros consumidores da fila até que um cliente obtenha a mensagem através da operação Obter Mensagens . O cliente que pede a mensagem não recebe um recibo pop com a resposta e, portanto, não consegue eliminar a mensagem.

Apenas as mensagens visíveis podem ser obtidas com a Peek Messages operação. Tenha em atenção que o número máximo de mensagens que podem ser obtidas é 32.

Quando uma mensagem é obtida pela primeira vez com uma chamada para , a Get Messagesrespetiva DequeueCount propriedade é definida como 1. Se não for eliminada e for obtida novamente, a DequeueCount propriedade será incrementada. O cliente pode utilizar este valor para determinar quantas vezes uma mensagem foi obtida.

Nota

Uma chamada para Peek Messages não incrementa o valor de DequeueCount, mas devolve este valor para o cliente ler.

Se o parâmetro numofmessages estiver fora do intervalo, o serviço devolve o código de estado 400 (Pedido Incorreto), juntamente com informações de erro adicionais, conforme mostrado no exemplo seguinte:

HTTP/1.1 400 One of the query parameters specified in the request URI is outside the permissible range.  
Connection: Keep-Alive  
Content-Length: 455  
Via: 1.1 TK5-PRXY-22  
Date: Wed, 02 May 2012 19:37:23 GMT  
Content-Type: application/xml  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: 6a03526c-ca2c-4358-a63a-b5d096988533  
x-ms-version: 2011-08-18  
  
<?xml version="1.0" encoding="utf-8"?>  
   <Error>  
      <Code>OutOfRangeQueryParameterValue</Code>  
      <Message>One of the query parameters specified in the request URI is outside the permissible range.  
               RequestId:6a03526c-ca2c-4358-a63a-b5d096988533  
               Time:2012-05-02T19:37:24.2438463Z  
      </Message>  
      <QueryParameterName>numofmessages</QueryParameterName>  
      <QueryParameterValue>0</QueryParameterValue>  
      <MinimumAllowed>1</MinimumAllowed>  
      <MaximumAllowed>32</MaximumAllowed>  
   </Error>  
  

Ver também

Autorizar pedidos para o Armazenamento do Azure
Códigos de estado e de erro
Códigos de erro do serviço fila