Peek-Lock mensaje (lectura no destructiva)
Esta operación recupera y bloquea de forma atómica un mensaje de una cola o suscripción para su procesamiento. Se garantiza que el mensaje no se entregue a otros receptores (solo en la misma cola o suscripción) durante la duración del bloqueo especificada en la descripción de la cola o suscripción. Cuando expire el bloqueo, el mensaje estará disponible para otros receptores. Para completar el procesamiento del mensaje, el receptor debe emitir un comando delete con el identificador de 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 debe usarse en aplicaciones que requieran garantías de entrega al menos una vez. Si el receptor no elimina el mensaje antes de que el procesamiento se realice correctamente, esta operación garantiza que otro receptor pueda intentar procesarlo después de que expire el período de duración del bloqueo.
Pedir
Método | URI de solicitud | Versión HTTP |
---|---|---|
EXPONER | 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 obligatorios y opcionales. Además de las propiedades enumeradas, el encabezado puede contener propiedades personalizadas. Vea el ejemplo.
Encabezado de solicitud | Descripción |
---|---|
Autorización | Especifique uno de los siguientes valores de token:
|
Cuerpo de la solicitud
Ninguno.
Respuesta
La respuesta incluye un código de estado HTTP, un conjunto de encabezados de respuesta y el cuerpo de la respuesta.
Códigos de respuesta
Código | Descripción |
---|---|
201 | Mensaje recuperado y bloqueado correctamente. |
204 | No hay mensajes disponibles dentro del período de tiempo de espera especificado. |
400 | Solicitud incorrecta. |
401 | Error de autorización. |
410 | La cola o la suscripción especificadas no existen. |
500 | Error interno. |
Para obtener información sobre los códigos de estado, vea Códigos de estado y de error.
Encabezados de respuesta
La respuesta de esta operación incluye los siguientes encabezados. La respuesta también puede incluir encabezados HTTP más estándar. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1 de .
Encabezado de respuesta | Descripción |
---|---|
Content-Type |
Establezca en application/atom+xml;type=entry;charset=utf-8 . |
Location |
URI del mensaje bloqueado. Puede usar este URI para desbloquear o eliminar el mensaje. |
BrokerProperties |
BrokerProperties con codificación JSON del mensaje recibido. La propiedad LockToken representa el identificador de bloqueo del mensaje devuelto. La propiedad SequenceNumber representa el número de secuencia del mensaje devuelto. |
Cuerpo de la respuesta
El cuerpo de la respuesta es el cuerpo del mensaje recuperado.
Ejemplo
La siguiente solicitud HTTP 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