Peek Messages
Der Peek Messages
Vorgang ruft eine oder mehrere Nachrichten von der Warteschlange ab, ändert jedoch nicht die Sichtbarkeit der Nachricht.
Anforderung
Sie können die Peek Messages
Anforderung wie folgt erstellen. Es wird empfohlen, HTTPS zu verwenden. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos, und ersetzen Sie myqueue durch den Namen Ihrer Warteschlange:
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
GET |
https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true |
HTTP/1.1 |
Emulierte Speicherdienstanforderung
Wenn Sie eine Anforderung für den emulierten Speicherdienst stellen, geben Sie den Hostnamen des Emulators und den Warteschlangendienstport als 127.0.0.1:10001
an, gefolgt vom Namen des emulierten Speicherkontos:
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
GET |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?peekonly=true |
HTTP/1.1 |
Weitere Informationen finden Sie unter Verwenden des Azurite-Emulators für lokale Azure Storage-Entwicklung.
URI-Parameter
Im Anforderungs-URI können die folgenden Parameter angegeben werden.
Parameter | BESCHREIBUNG |
---|---|
numofmessages |
Optional. Ein ganzzahliger Wert ungleich 0 (null), der die Anzahl der Nachrichten angibt, die aus der Warteschlange einzusehen sind; der maximale Wert beträgt 32. Standardmäßig wird mit diesem Vorgang eine einzige Nachricht aus der Warteschlange eingesehen. |
timeout |
Optional. Der timeout -Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Warteschlangendienstvorgänge. |
Anforderungsheader
Die erforderlichen und optionalen Anforderungsheader werden in der folgenden Tabelle beschrieben:
Anforderungsheader | BESCHREIBUNG |
---|---|
Authorization |
Erforderlich. Gibt das Autorisierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
Date oder x-ms-date |
Erforderlich. Gibt die koordinierte Weltzeit (Coordinated Universal Time, UTC) für die Anforderung an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
x-ms-version |
Optional. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste. |
x-ms-client-request-id |
Optional. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem Zeichenlimit von 1 Kibibyte (KiB) bereit, der beim Konfigurieren der Protokollierung in den Protokollen aufgezeichnet wird. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt. Weitere Informationen finden Sie unter Überwachen von Azure Queue Storage. |
Anforderungstext
Keine.
Antwort
Die Antwort enthält den HTTP-Statuscode, einen Satz von Antwortheadern und einen XML-Antworttext.
Statuscode
Bei einem erfolgreichen Vorgang wird der Statuscode 200 (OK) zurückgegeben.
Weitere Informationen zu status Codes finden Sie unter Status- und Fehlercodes.
Antwortheader
Die Antwort für diesen Vorgang umfasst die folgenden Header. Die Antwort enthält außerdem weitere HTTP-Standardheader. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.
Antwortheader | BESCHREIBUNG |
---|---|
x-ms-request-id |
Identifiziert eindeutig die Anforderung, die gestellt wurde, und Sie können sie verwenden, um die Problembehandlung für die Anforderung zu beheben. Weitere Informationen finden Sie unter Problembehandlung bei API-Vorgängen. |
x-ms-version |
Die Warteschlangendienstversion, die zum Ausführen der Anforderung verwendet wurde. Wird für Anforderungen zurückgegeben, die für Version 2009-09-19 und höher vorgenommen wurden. |
Date |
Ein UTC-Datums-/Uhrzeitwert, der vom Dienst generiert wird, der die Uhrzeit angibt, zu der die Antwort initiiert wurde. |
x-ms-client-request-id |
Kann verwendet werden, um Anforderungen und ihre entsprechenden Antworten zu behandeln. Der Wert dieses Headers ist gleich dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist und der Wert nicht mehr als 1.024 sichtbare ASCII-Zeichen enthält. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist er in der Antwort nicht vorhanden. |
Antworttext
Das Antwort-XML für den Peek Messages
-Vorgang wird im folgenden Format zurückgegeben.
Das MessageID
-Element ist ein GUID-Wert, der die Nachricht in der Warteschlange identifiziert. Dieser Wert wird vom Warteschlangendienst der Nachricht zugewiesen, und er ist für den Client nicht transparent.
Das InsertionTime
-Element und das ExpirationTime
-Element werden als UTC-Werte dargestellt und entsprechend der Beschreibung in RFC 1123 formatiert.
Das DequeueCount
-Element weist den Wert 1 auf, wenn die Nachricht das erste Mal aus der Warteschlange entfernt wird. Dieser Wert wird jedes Mal inkrementiert, wenn die Nachricht anschließend erneut aus der Warteschlange entfernt wird.
Hinweis
Das DequeueCount
Element wird nur dann im Antworttext zurückgegeben, wenn die Warteschlange mit der Warteschlangendienstversion 2009-09-19 erstellt wurde.
<QueueMessagesList>
<QueueMessage>
<MessageId>string-message-id</MessageId>
<InsertionTime>insertion-time</InsertionTime>
<ExpirationTime>expiration-time</ExpirationTime>
<DequeueCount>integer</DequeueCount>
<MessageText>message-body</MessageText>
</QueueMessage>
</QueueMessagesList>
Hinweis
Diese Antwort unterscheidet sich von der Antwort für den Vorgang Nachrichten abrufen dadurch, dass sie keine Elemente oder TimeNextVisible
enthältPopReceipt
.
Beispiel für eine Antwort
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>
Authorization
Dieser Vorgang kann vom Kontobesitzer und von jeder Person mit einer freigegebenen Zugriffssignatur ausgeführt werden, die über die Berechtigung zum Ausführen dieses Vorgangs verfügt.
Hinweise
Wenn eine Nachricht aus der Warteschlange abgerufen wird und peekonly
auf true
festgelegt ist, bleibt die Sichtbarkeit der Nachricht unverändert. Die Nachricht bleibt für andere Consumer der Warteschlange verfügbar, bis ein Client die Nachricht mithilfe des Vorgangs Nachrichten abrufen abruft . Der Client, der die Nachricht anfordert, erhält keine Popquittung mit der Antwort und kann die Nachricht daher nicht löschen.
Nur nachrichten, die sichtbar sind, können mit dem Peek Messages
Vorgang abgerufen werden. Beachten Sie, dass die maximale Anzahl von Nachrichten, die abgerufen werden können, 32 ist.
Wenn eine Nachricht erstmalig mit einem Aufruf von Get Messages
abgerufen wird, wird ihre DequeueCount
-Eigenschaft auf 1 festgelegt. Wenn sie nicht gelöscht und anschließend erneut abgerufen wird, wird die DequeueCount
Eigenschaft inkrementiert. Der Client kann diesen Wert verwenden, um zu bestimmen, wie oft eine Nachricht abgerufen wurde.
Hinweis
Ein Aufruf von Peek Messages
erhöht den Wert von DequeueCount
nicht, aber er gibt diesen Wert zurück, damit der Client lesen kann.
Wenn sich der numofmessages-Parameter außerhalb des Bereichs befindet, gibt der Dienst status Code 400 (Ungültige Anforderung) zusammen mit zusätzlichen Fehlerinformationen zurück, wie im folgenden Beispiel gezeigt:
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>
Weitere Informationen
Autorisieren von Anforderungen an Azure Storage
Status- und Fehlercodes
Warteschlangendienstfehlercodes