Peek-Lock-Nachricht (nicht destruktiver Lesevorgang)
Diese Operation liest und sperrt eine Nachricht aus einer Warteschlange oder einem Abonnement zur Verarbeitung als atomarer Vorgang. Für die in der Beschreibung von Warteschlange/Abonnement angegebene Dauer der Sperre wird garantiert, dass diese Nachricht nicht an andere Empfänger (nur für dieselbe Warteschlange bzw. dasselbe Abonnement) ausgeliefert wird. Nach Ablauf der Sperre wird die Nachricht wieder für andere Empfänger verfügbar. Um die Verarbeitung der Nachricht abzuschließen, sollte der Empfänger einen Löschbefehl mit der aus dieser Operation erhaltenen Sperren-ID senden. Um die Verarbeitung der Nachricht aufzugeben und sie für andere Empfänger zu entsperren, sollte ein Befehl Nachricht entsperren ausgegeben werden, andernfalls kann die Sperrdauer ablaufen.
Diese Operation sollte in Anwendungen verwendet werden, die eine At-Least-Once-Zustellungsgarantie benötigen. Wenn der Empfänger die Nachricht nicht löscht, bevor die Verarbeitung erfolgreich ist, stellt dieser Vorgang sicher, dass ein anderer Empfänger die Verarbeitung nach Ablauf der Sperrdauer versuchen kann.
Anforderung
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
POST | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath}/messages/head oder http{s}://{serviceNamespace}.servicebus.windows.net/{topicPath}/subscriptions/{subscriptionName}/messages/head|HTTP/1.1 |
Anforderungsheader
In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben. Zusätzlich zu den aufgelisteten Eigenschaften kann der Header auch benutzerdefinierte Eigenschaften enthalten. Siehe das Beispiel.
Anforderungsheader | BESCHREIBUNG |
---|---|
Authorization | Geben Sie einen der folgenden Tokenwerte an:
|
Anforderungstext
Keine.
Antwort
Die Antwort enthält den HTTP-Statuscode, einen Satz von Antwortheadern und den Antworttext.
Antwortcodes
Code | BESCHREIBUNG |
---|---|
201 | Nachricht erfolgreich abgerufen und gesperrt. |
204 | Keine Nachrichten in der angegebenen Zeitüberschreitungsperiode verfügbar. |
400 | Ungültige Anforderung. |
401 | Autorisierungsfehler |
410 | Angegebene Warteschlange bzw. Abonnement existiert nicht. |
500 | Interner Fehler. |
Informationen zu status Codes finden Sie unter Status- und Fehlercodes.
Antwortheader
Die Antwort für diesen Vorgang umfasst die folgenden Header. Die Antwort kann außerdem weitere HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.
Antwortheader | BESCHREIBUNG |
---|---|
Content-Type |
Legen Sie diese Option auf application/atom+xml;type=entry;charset=utf-8 fest. |
Location |
Die URI der gesperrten Nachricht. Mit dieser URI können Sie die Nachricht freischalten oder löschen. |
BrokerProperties |
JSON-codiert BrokerProperties der empfangenen Nachricht. Die LockToken -Eigenschaft stellt die Sperr-ID für die zurückgegebene Nachricht dar. Die SequenceNumber -Eigenschaft stellt die Sequenznummer der zurückgegebenen Nachricht dar. |
Antworttext
Der Antworttext ist der Nachrichtentext der abgerufenen Nachricht.
Beispiel
Die folgende HTTP-Anforderung sperrt und gibt eine Nachricht aus einer Warteschlange zurück:
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 gibt die folgende Antwort zurück. Die Nachricht enthält die benutzerdefinierten Eigenschaften Priority
und 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