Mensaje bloqueado con peek (lectura no destructiva)
Esta operación recupera y bloquea automáticamente un mensaje de una cola o una suscripción para su procesamiento. Se garantiza que el mensaje no se enviará a otros destinatarios (solo de la misma cola o suscripción) mientras esté bloqueado, según la duración especificada en la descripción de la cola o suscripción. Cuando expira el bloqueo, el mensaje pasa a estar disponible para otros destinatarios. Con objeto de finalizar el procesamiento del mensaje, el destinatario debe emitir un comando de eliminación con el identificador del bloqueo recibido de esta operación. Para abandonar el procesamiento del mensaje y desbloquearlo para otros receptores, se debe emitir un comando Desbloquear mensaje ; de lo contrario, el período de duración del bloqueo puede expirar.
Esta operación se debe usar en aplicaciones que requieran garantías de entrega Una vez como mínimo. Si el receptor no elimina el mensaje antes de que el procesamiento se realice correctamente, esta operación garantiza que otro receptor pueda intentar el procesamiento después de que expire el período de duración del bloqueo.
Solicitud
Método | URI de solicitud | Versión HTTP |
---|---|---|
POST | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath}/messages/head o http{s}://{serviceNamespace}.servicebus.windows.net/{topicPath}/subscriptions/{subscriptionName}/messages/head|HTTP/1.1 |
Encabezados de solicitud
En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales. Además de las propiedades mencionadas, el encabezado puede contener propiedades personalizadas. Vea el ejemplo siguiente.
Encabezado de solicitud | Descripción |
---|---|
Authorization | Especifique uno de los siguientes valores de token:
|
Cuerpo de la solicitud
Ninguno.
Response
La respuesta incluye un código de estado HTTP, un conjunto de encabezados de respuesta y el cuerpo de respuesta.
Códigos de respuesta
Código | Descripción |
---|---|
201 | Mensaje recuperado y bloqueado correctamente. |
204 | Ningún mensaje disponible en el tiempo de espera especificado. |
400 | Solicitud incorrecta. |
401 | Error de autorización. |
410 | La cola o suscripción especificada no existe. |
500 | Error interno. |
Para obtener información sobre los códigos de estado, vea Códigos de estado y error.
Encabezados de respuesta
La respuesta para esta operación incluye los encabezados siguientes. La respuesta también puede incluir 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 |
---|---|
Content-Type |
Establézcalo en application/atom+xml;type=entry;charset=utf-8 . |
Location |
URI del mensaje bloqueado. Este URI se puede usar para desbloquear o eliminar el mensaje. |
BrokerProperties |
Codificado BrokerProperties en JSON del mensaje recibido. La LockToken propiedad representa el identificador de bloqueo del mensaje devuelto. La SequenceNumber propiedad representa el número de secuencia del mensaje devuelto. |
Cuerpo de la respuesta
El cuerpo de respuesta es el cuerpo del mensaje recuperado.
Ejemplo
La solicitud HTTP siguiente bloquea y devuelve un mensaje de una cola:
POST https://your-namespace.servicebus.windows.net/HttpClientSampleQueue/messages/head?timeout=60 HTTP/1.1
Authorization: SharedAccessSignature sr=your-namespace&sig=Fg8yUyR4MOmXfHfj55f5hY4jGb8x2Yc%2b3%2fULKZYxKZk%3d&se=1404256819&skn=RootManageSharedAccessKey
Host: your-namespace.servicebus.windows.net
Content-Length: 0
Service Bus devuelve la siguiente respuesta. El mensaje contiene las propiedades personalizadas Priority
y Customer
:
HTTP/1.1 201 Created
Transfer-Encoding: chunked
Content-Type: application/atom+xml;type=entry;charset=utf-8
Location: https://your-namespace.servicebus.windows.net/httpclientsamplequeue/messages/2/7da9cfd5-40d5-4bb1-8d64-ec5a52e1c547
Server: Microsoft-HTTPAPI/2.0
BrokerProperties: {"DeliveryCount":1,"EnqueuedSequenceNumber":0,"EnqueuedTimeUtc":"Wed, 02 Jul 2014 01:32:27 GMT","Label":"M1","LockToken":"7da9cfd5-40d5-4bb1-8d64-ec5a52e1c547","LockedUntilUtc":"Wed, 02 Jul 2014 01:33:27 GMT","MessageId":"31907572164743c38741631acd554d6f","SequenceNumber":2,"State":"Active","TimeToLive":10}
Priority: "High"
Customer: "12345,ABC"
Date: Wed, 02 Jul 2014 01:32:27 GMT
12
This is a message.
0