Peek Messages

La Peek Messages operación recupera uno o varios mensajes de la parte delantera de la cola, pero no modifica la visibilidad del mensaje.

Request

Puede construir la Peek Messages solicitud como se indica a continuación. Se recomienda usar HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento y reemplace myqueue por el nombre de la cola:

Método URI de solicitud Versión de HTTP
GET https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true HTTP/1.1

Solicitud de servicio de almacenamiento emulada

Cuando realice una solicitud en el servicio de almacenamiento emulado, especifique el nombre de host del emulador y el puerto de Queue service como 127.0.0.1:10001, seguido del nombre de la cuenta de almacenamiento emulada:

Método URI de solicitud Versión de HTTP
GET http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?peekonly=true HTTP/1.1

Para más información, consulte Uso del emulador de Azurite para desarrollo y pruebas locales de Azure Storage.

Parámetros del identificador URI

Se pueden especificar los parámetros siguientes en el URI de solicitud.

Parámetro Descripción
numofmessages Opcional. Valor entero distinto de cero que especifica el número de mensajes que se deben obtener de la cola, hasta un máximo de 32. De forma predeterminada, con esta operación se obtiene un solo mensaje de la cola.
timeout Opcional. El parámetro timeout se expresa en segundos. Para más información, consulte Establecimiento de tiempos de espera para las operaciones de Queue Service.

Encabezados de solicitud

Los encabezados de solicitud obligatorios y opcionales se describen en la tabla siguiente:

Encabezado de solicitud Descripción
Authorization Necesario. Especifica el esquema de autorización, el nombre de la cuenta y la firma. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
Date o x-ms-date Necesario. Especifica la hora universal coordinada (UTC) de la solicitud. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
x-ms-version Opcional. Especifica la versión de la operación que se utiliza para esta solicitud. Para obtener más información, vea Versiones de los servicios de Azure Storage.
x-ms-client-request-id Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 kibibyte (KiB) que se registra en los registros cuando se configura el registro. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes que recibe el servidor. Para más información, consulte Supervisión de Azure Queue Storage.

Cuerpo de la solicitud

Ninguno.

Response

La respuesta incluye un código de estado HTTP, un conjunto de encabezados de respuesta y un cuerpo de respuesta XML.

status code

Una operación correcta devuelve el código de estado 200 Correcto.

Para obtener más información sobre los códigos de estado, vea Códigos de estado y de error.

Encabezados de respuesta

La respuesta para esta operación incluye los encabezados siguientes. La respuesta también incluye otros encabezados HTTP estándar. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1.

Encabezado de respuesta Descripción
x-ms-request-id Identifica de forma única la solicitud que se realizó y puede usarla para solucionar problemas de la solicitud. Para más información, consulte Solución de problemas de operaciones de API.
x-ms-version La versión de Queue Service que se usó para ejecutar la solicitud. Se devuelve para las solicitudes realizadas en la versión 2009-09-19 y posteriores.
Date Valor de fecha y hora UTC generado por el servicio, que indica la hora a la que se inició la respuesta.
x-ms-client-request-id Se puede usar para solucionar problemas de solicitudes y sus respuestas correspondientes. El valor de este encabezado es igual al valor del x-ms-client-request-id encabezado si está presente en la solicitud y el valor no contiene más de 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, no estará presente en la respuesta.

Response body

El código XML de respuesta para la operación Peek Messages se devuelve con el formato siguiente.

El elemento MessageID es un valor de GUID que identifica el mensaje de la cola. El servicio Cola asigna este valor al mensaje y es opaco para el cliente.

Los elementos InsertionTime y ExpirationTime se representan como valores UTC con el formato descrito en RFC 1123.

El elemento DequeueCount tiene el valor 1 la primera vez que el mensaje se quita de la cola. Este valor se incrementa cada vez que el mensaje se quita de la cola posteriormente.

Nota:

El DequeueCount elemento se devuelve en el cuerpo de la respuesta solo si la cola se creó con queue service versión 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 respuesta difiere de la respuesta de la operación Obtener mensajes en que no contiene los PopReceipt elementos o TimeNextVisible .

Respuesta de muestra

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>  

Authorization

El propietario de la cuenta puede realizar esta operación y cualquier persona con una firma de acceso compartido que tenga permiso para realizar esta operación.

Comentarios

Cuando se recupera un mensaje de la cola con peekonly establecido en true, la visibilidad del mensaje no varía. El mensaje permanece disponible para otros consumidores de la cola hasta que un cliente recupere el mensaje mediante la operación Obtener mensajes . El cliente que solicita el mensaje no recibe un recibo emergente con la respuesta y, por lo tanto, no puede eliminar el mensaje.

Solo se pueden recuperar los mensajes que están visibles con la Peek Messages operación . Tenga en cuenta que el número máximo de mensajes que se pueden recuperar es 32.

Cuando un mensaje se recupera por primera vez con una llamada a Get Messages, su propiedad DequeueCount se establece en 1. Si no se elimina y se recupera posteriormente de nuevo, la DequeueCount propiedad se incrementa. El cliente puede usar este valor para determinar cuántas veces se ha recuperado un mensaje.

Nota:

Una llamada a Peek Messages no incrementa el valor de DequeueCount, pero devuelve este valor para que el cliente lo lea.

Si el parámetro numofmessages está fuera del intervalo, el servicio devuelve el código de estado 400 (solicitud incorrecta), junto con información de error adicional, como se muestra en el ejemplo siguiente:

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>  
  

Consulte también

Autorización de solicitudes a Azure Storage
Estado y códigos de error
Códigos de error de Queue Service