Freigeben über


Peek-Lock Nachricht (nicht destruktives Lesen)

Dieser Vorgang ruft eine Nachricht atomisch ab und sperrt sie aus einer Warteschlange oder einem Abonnement zur Verarbeitung. Die Nachricht wird während der sperrdauer, die in der Warteschlange/Abonnementbeschreibung angegeben ist, garantiert nicht an andere Empfänger (nur in derselben Warteschlange oder in demselben Abonnement) übermittelt. Wenn die Sperre abläuft, wird die Nachricht für andere Empfänger verfügbar. Um die Verarbeitung der Nachricht abzuschließen, sollte der Empfänger einen Löschbefehl mit der sperr-ID ausgeben, die von diesem Vorgang empfangen wurde. Um die Verarbeitung der Nachricht aufzugeben und sie für andere Empfänger zu entsperren, sollte ein Befehl "Nachricht entsperren" ausgegeben werden, andernfalls kann der Sperrzeitraum ablaufen.

Dieser Vorgang sollte in Anwendungen verwendet werden, die Mindestens einmal Zustellungszusicherungen erfordern. Wenn der Empfänger die Nachricht nicht löscht, bevor die Verarbeitung erfolgreich ausgeführt wird, stellt dieser Vorgang sicher, dass ein anderer Empfänger nach Ablauf der Sperrdauer die Verarbeitung versuchen kann.

Bitten

Methode Anforderungs-URI HTTP-Version
BEREITSTELLEN 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 die erforderlichen und optionalen Anforderungsheader beschrieben. Zusätzlich zu den aufgelisteten Eigenschaften kann die Kopfzeile benutzerdefinierte Eigenschaften enthalten. Sehen Sie sich das Beispiel an.

Anforderungsheader Beschreibung
Ermächtigung Geben Sie einen der folgenden Tokenwerte an:

Anforderungstext

Nichts.

Antwort

Die Antwort enthält einen HTTP-Statuscode, eine Reihe von Antwortheadern und den Antworttext.

Antwortcodes

Code Beschreibung
201 Nachricht wurde erfolgreich abgerufen und gesperrt.
204 Es sind keine Nachrichten innerhalb des angegebenen Timeoutzeitraums verfügbar.
400 Ungültige Anforderung.
401 Autorisierungsfehler.
410 Die angegebene Warteschlange oder das angegebene Abonnement ist nicht vorhanden.
500 Interner Fehler.

Informationen zu Statuscodes finden Sie unter Status- und Fehlercodes.

Antwortheader

Die Antwort für diesen Vorgang enthält die folgenden Header. Die Antwort kann auch weitere standardmäßige HTTP-Header enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.

Antwortheader Beschreibung
Content-Type Auf application/atom+xml;type=entry;charset=utf-8festgelegt.
Location Der URI der gesperrten Nachricht. Sie können diesen URI verwenden, um die Nachricht zu entsperren oder zu löschen.
BrokerProperties JSON-codierte 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 folgenden HTTP-Anforderungssperren und gibt Nachrichten 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  

Siehe auch