Esta página foi útil?
Seus comentários sobre este conteúdo são importantes. Queremos saber sua opinião.
Comentários adicionais?
1500 caracteres restantes
Exportar (0) Imprimir
Expandir Tudo

Inspecionar Mensagens

Atualizado: abril de 2015

Essa operação recupera uma ou mais mensagens no início da fila, mas não altera a visibilidade da mensagem.

A solicitação Peek Messages pode ser criada da seguinte maneira. HTTPS é recomendado. Substitua myaccount pelo nome da conta de armazenamento, e myqueue pelo nome da fila:

 

Método URI de solicitação Versão de HTTP

GET

https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true

HTTP/1.1

Ao fazer uma solicitação no serviço de armazenamento emulado, especifique o nome de host do emulador e a porta do serviço Fila como 127.0.0.1:10001, seguido pelo nome da conta de armazenamento emulado:

 

Método URI de solicitação Versão de HTTP

GET

http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?peekonly=true

HTTP/1.1

Os seguintes parâmetros podem ser especificados no URI de solicitação.

 

Parâmetro Descrição

numofmessages

Opcional. Um valor diferente de zero inteiro que especifica o número de mensagens a inspecionar da fila, até um máximo de 32. Por padrão, uma única mensagem é inspecionada da fila com esta operação.

timeout

Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Definindo tempos limite para operações de serviço Fila.

A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais.

 

Cabeçalho de solicitação Descrição

Authorization

Obrigatória. Especifica o esquema de autenticação, o nome da conta e a assinatura. Para obter mais informações, consulte Autenticação federada para os Serviços de Armazenamento do Azure.

Date ou x-ms-date

Obrigatória. Especifica o Tempo Universal Coordenado (UTC) para a solicitação. Para obter mais informações, consulte Autenticação federada para os Serviços de Armazenamento do Azure.

x-ms-version

Opcional. Especifica a versão da operação a ser usada para esta solicitação. Para obter mais informações, consulte Controle de versão dos serviços Blob, Fila e Tabela no Windows Azure.

x-ms-client-request-id

Opcional. Fornece um valor opaco, gerado pelo cliente, com um limite de caractere de 1 KB que é registrado nos logs analíticos quando o log analítico de armazenamento está habilitado. É altamente recomendável usar este cabeçalho para correlacionar atividades do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Sobre o registro em log da Análise de Armazenamento e Log do Azure: Usando logs para rastrear solicitações de armazenamento.

A resposta inclui um código de status HTTP, um conjunto de cabeçalhos de resposta XML e um corpo de resposta.

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

Para obter informações sobre códigos de status, consulte Status e códigos de erro.

A resposta para esta operação inclui os cabeçalhos a seguir. A resposta também inclui cabeçalhos padrão HTTP adicionais. Todos os cabeçalhos padrão obedecem à especificação de protocolo HTTP/1.1.

 

Cabeçalho de resposta Descrição

x-ms-request-id

Esse cabeçalho identifica a solicitação que foi feita de forma exclusiva e pode ser usado para solucionar problemas na solicitação. Para obter mais informações, consulte Solucionando problemas de operações de API.

x-ms-version

Indica a versão do serviço Fila usado para executar a solicitação. Esse cabeçalho é retornado para solicitações feitas na versão 2009-09-19 e mais recente.

Date

Um valor de data/hora UTC gerado pelo serviço que indica a hora em que a resposta foi iniciada.

A resposta XML para a operação Peek Messages é retornada no formato a seguir.

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

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

O elemento DequeueCount tem um valor de 1 na primeira vez em que a mensagem é removida da fila. Esse valor é incrementado toda vez que a mensagem é removida da fila subsequentemente.

noteObservação
O elemento DequeueCount será retornado no corpo da resposta somente se a fila tiver sido criada com a versão 2009-09-19 do serviço Fila.

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

Observe que essa resposta difere da resposta para a operação Receber mensagens, pois a resposta não contém os elementos PopReceipt ou TimeNextVisible.

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>

Essa operação poderá ser executada pelo proprietário da conta e por qualquer pessoa com uma assinatura de acesso compartilhado que tenha permissão para executar essa operação.

Quando uma mensagem é recuperada de fila com peekonly definido como true, a visibilidade da mensagem permanece inalterada. A mensagem permanecerá disponível a outros consumidores da fila até um cliente recuperá-la com a operação Receber mensagens. O cliente que solicita a mensagem não obtém um recebimento de mensagem pop-up com a resposta e, portanto, não pode excluir a mensagem.

Somente as mensagens visíveis podem ser recuperadas com a operação Peek Messages. Observe que o número máximo de mensagens que podem ser recuperadas é 32.

Quando uma mensagem é recuperada pela primeira vez, sua propriedade com a chamada para Get MessagesDequeueCount é definida como 1. Se ela não for excluída e for posteriormente recuperada novamente, a propriedade DequeueCount será incrementada. O cliente poderá usar esse valor para determinar quantas vezes uma mensagem foi recuperada. Observe que uma chamada para Peek Messages não incrementa o valor de DequeueCount, mas retorna esse valor para leitura do cliente.

Se o parâmetro numofmessages estiver fora do intervalo, o serviço retornará o código de status 400 (Solicitação Incorreta), juntamente com informações adicionais sobre o erro, conforme mostrado no exemplo a seguir.

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>

Mostrar:
© 2015 Microsoft