Peek Messages

L'operazione Peek Messages recupera uno o più messaggi dalla parte anteriore della coda, ma non modifica la visibilità del messaggio.

Richiesta

È possibile costruire la Peek Messages richiesta come indicato di seguito. È consigliabile usare HTTPS. Sostituire myaccount con il nome dell'account di archiviazione e sostituire myqueue con il nome della coda:

Metodo URI richiesta Versione HTTP
GET https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true HTTP/1.1

Richiesta del servizio di archiviazione emulata

Quando si effettua una richiesta con il servizio di archiviazione emulato, specificare il nome host dell'emulatore e la porta del servizio Code come 127.0.0.1:10001, seguita dal nome dell'account di archiviazione emulato:

Metodo URI richiesta Versione HTTP
GET http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?peekonly=true HTTP/1.1

Per altre informazioni, vedere Usare l'emulatore Azurite per lo sviluppo locale di Archiviazione di Azure.

Parametri URI

Nell'URI richiesta è possibile specificare i seguenti parametri.

Parametro Descrizione
numofmessages Facoltativa. Valore intero diverso da zero che specifica il numero di messaggi da osservare nella coda, fino a un massimo di 32. Per impostazione predefinita, un singolo messaggio viene osservato dalla coda con questa operazione.
timeout Facoltativa. Il parametro timeout viene espresso in secondi. Per altre informazioni, vedere Impostare timeout per le operazioni del servizio code.

Intestazioni della richiesta

Le intestazioni di richiesta obbligatorie e facoltative sono descritte nella tabella seguente:

Intestazione della richiesta Descrizione
Authorization Obbligatorio. Specifica lo schema di autorizzazione, il nome dell'account e la firma. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
Date o x-ms-date Obbligatorio. Specifica la data per la richiesta nel fuso orario UTC (Coordinated Universal Time). Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
x-ms-version Facoltativa. Specifica la versione dell'operazione da usare per questa richiesta. Per altre informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure.
x-ms-client-request-id Facoltativa. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 kibibyte (KiB) registrato nei log quando la registrazione è configurata. È consigliabile usare questa intestazione per correlare le attività lato client con le richieste ricevute dal server. Per altre informazioni, vedere Monitorare l'archiviazione code di Azure.

Testo della richiesta

Nessuno.

Risposta

Nella risposta sono inclusi un codice di stato HTTP, un set di intestazioni della risposta e il corpo di una risposta XML.

Codice stato

Un'operazione completata correttamente restituisce 200 (OK).

Per altre informazioni sui codici di stato, vedere Codici di stato e di errore.

Intestazioni di risposta

Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; La risposta include inoltre intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

Intestazione risposta Descrizione
x-ms-request-id Identifica in modo univoco la richiesta effettuata e puoi usarla per risolvere la risoluzione dei problemi della richiesta. Per altre informazioni, vedere Risolvere i problemi relativi alle operazioni api.
x-ms-version Versione del servizio Code usata per eseguire la richiesta. Restituito per le richieste effettuate rispetto alla versione 2009-09-19 e successive.
Date Valore di data/ora UTC generato dal servizio, che indica l'ora in cui è stata avviata la risposta.
x-ms-client-request-id Può essere usato per risolvere i problemi delle richieste e delle relative risposte corrispondenti. Il valore di questa intestazione è uguale al valore dell'intestazione x-ms-client-request-id se presente nella richiesta e il valore non contiene più di 1.024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, non sarà presente nella risposta.

Corpo della risposta

La risposta XML per l'operazione Peek Messages viene restituita nel formato seguente.

L'elemento MessageID è un valore GUID che identifica il messaggio nella coda. Questo valore viene assegnato al messaggio dal servizio di accodamento e risulta opaco al client.

Gli elementi InsertionTime e ExpirationTime vengono rappresentati come valori UTC e formattati come descritto in RFC 1123.

L'elemento DequeueCount presenta un valore 1 la prima volta che il messaggio viene rimosso dalla coda. Questo valore viene incrementato ogni volta che il messaggio viene rimosso dalla coda.

Nota

L'elemento DequeueCount viene restituito nel corpo della risposta solo se la coda è stata creata con il servizio code versione 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

Questa risposta è diversa dalla risposta per l'operazione Get Messages in che non contiene gli PopReceipt elementi o TimeNextVisible .

Risposta di esempio

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>  

Autorizzazione

Questa operazione può essere eseguita dal proprietario dell'account e da chiunque abbia una firma di accesso condiviso che dispone dell'autorizzazione per eseguire questa operazione.

Commenti

Quando un messaggio viene recuperato dalla coda con peekonly impostato su true, la visibilità del messaggio rimane invariata. Il messaggio rimane disponibile per altri consumer della coda fino a quando un client recupera il messaggio usando l'operazione Recupera messaggi . Il client che richiede il messaggio non riceve una ricevuta popup con la risposta e pertanto non può eliminare il messaggio.

È possibile recuperare solo i messaggi visibili con l'operazione Peek Messages . Si noti che il numero massimo di messaggi che possono essere recuperati è 32.

Quando un messaggio viene recuperato per la prima volta con una chiamata a Get Messages, la proprietà DequeueCount è impostata su 1. Se non viene eliminato e viene recuperato di nuovo, la DequeueCount proprietà viene incrementata. Il client può usare questo valore per determinare il numero di volte in cui è stato recuperato un messaggio.

Nota

Una chiamata a non incrementa Peek Messages il valore di DequeueCount, ma restituisce questo valore per la lettura del client.

Se il parametro numofmessages non è compreso nell'intervallo, il servizio restituisce il codice di stato 400 (richiesta non valida), insieme a informazioni di errore aggiuntive, come illustrato nell'esempio seguente:

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>  
  

Vedi anche

Autorizzare le richieste ad Archiviazione di Azure
Stato e codici errore
Codici di errore del servizio code