Exportar (0) Imprimir
Expandir todo

Peek Messages

Actualizado: noviembre de 2013

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

La solicitud Peek Messages se puede construir como sigue. Se recomienda HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento y 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

Al realizar una solicitud en el servicio de almacenamiento emulado, especifique el nombre de host del emulador y el puerto del servicio Cola como 127.0.0.1:10001, seguido del nombre de la cuenta de almacenamiento emulado:

 

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 obtener más información, vea About Development Storage.

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 obtener más información, vea Establecer los tiempos de espera para las operaciones del servicio Cola.

En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.

 

Encabezado de solicitud Descripción

Authorization

Requerido. Especifica el esquema de autenticación, el nombre de la cuenta y la firma. Para obtener más información, vea Autenticación para los servicios de almacenamiento de Azure.

Date O bien x-ms-date

Requerido. Especifica la hora universal coordinada (UTC) para la solicitud. Para obtener más información, vea Autenticación para los servicios de almacenamiento de Azure.

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 Control de versiones de los servicios de almacenamiento de Azure.

x-ms-client-request-id

Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 KB que se graba en los registros de análisis cuando el registro de análisis de almacenamiento está habilitado. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes recibidas por el servidor. Para obtener más información, vea Acerca del registro del análisis de almacenamiento y Registro de Windows Azure: usar registros para realizar el seguimiento de las solicitudes de almacenamiento.

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

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

Para obtener información acerca de los códigos de estado, vea Códigos de estado y de error.

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 cumplen la especificación del protocolo HTTP/1.1.

 

Encabezado de respuesta Descripción

x-ms-request-id

Este encabezado identifica de forma única la solicitud que se realizó y se puede utilizar para solucionar problemas relacionados con esta. Para obtener más información, vea Solucionar problemas relacionados con las operaciones de la API.

x-ms-version

Indica la versión del servicio Cola utilizada para ejecutar la solicitud. Este encabezado se devuelve para las solicitudes realizadas en la versión 2009-09-19 y versiones posteriores.

Date

Valor de fecha y hora UTC generado por el servicio que indica la hora a la que se inició la respuesta.

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.

noteNota
El elemento DequeueCount solo se devuelve en el cuerpo de respuesta si la cola se creó con la versión 2009-09-19 del servicio Cola.

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

Tenga en cuenta que esta respuesta se diferencia de la respuesta de la operación Get Messages en que la respuesta no contiene los elementos PopReceipt ni 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>

Esta operación la puede realizar el propietario de la cuenta y cualquiera que tenga una firma de acceso compartido con permiso para realizar esta operación.

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 lo recupera con la operación Get Messages. El cliente que solicita el mensaje no recibe ninguna confirmación de recepción con la respuesta, por lo que no puede eliminar el mensaje.

Solo pueden recuperarse con la operación Peek Messages los mensajes que están visibles. Tenga en cuenta que se pueden recuperar 32 mensajes como máximo.

Cuando se recupera un mensaje por primera vez con una llamada a Get Messages, la propiedadDequeueCount se establece en 1. Si no se elimina y vuelve a recuperarse posteriormente, se incrementa el valor de la propiedad DequeueCount. El cliente puede utilizar este valor para determinar cuántas veces se ha recuperado un mensaje. Tenga en cuenta que una llamada a Peek Messages no incrementa el valor de DequeueCount, pero devuelve este valor para que lo lea el cliente.

Si el parámetro numofmessages está fuera del intervalo, el servicio devuelve el código de estado 400 (Solicitud incorrecta) junto con información adicional sobre el error, 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>

Mostrar:
© 2014 Microsoft