(0) exportieren Drucken
Alle erweitern

Peek Messages

Letzte Aktualisierung: November 2013

Dieser Vorgang ruft eine oder mehrere Nachrichten ausgehend vom Anfang der Warteschlange ab; er ändert jedoch nicht die Sichtbarkeit der Nachricht.

Die Peek Messages-Anforderung kann wie folgt erstellt werden. HTTPS wird empfohlen. Ersetzen Sie myaccount durch den Namen des Speicherkontos und myqueue durch den Namen der Warteschlange:

 

Methode Anforderungs-URI HTTP-Version

GET

https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true

HTTP/1.1

Wenn Sie eine Anforderung für den emulierten Speicherdienst ausführen, geben Sie den Emulatorhostnamen und den Port des Warteschlangendiensts mit 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 About Development Storage.

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 in der Warteschlange einzusehen sind; der maximale Wert beträgt 32. Standardmäßig wird mit diesem Vorgang eine einzelne Nachricht in der Warteschlange eingesehen.

timeout

Optional. Der timeout-Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Vorgänge des Warteschlangendiensts.

In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben.

 

Anforderungsheader Beschreibung

Authorization

Erforderlich. Gibt das Authentifizierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Authentifizierung für die Azure-Speicherdienste.

Date - oder - x-ms-date

Erforderlich. Gibt die Uhrzeit der Anforderung in koordinierter Weltzeit (UTC) an. Weitere Informationen finden Sie unter Authentifizierung für die Azure-Speicherdienste.

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, nicht transparenten Wert mit einer Zeichenbeschränkung von 1 KB bereit, der in den Analyseprotokollen erfasst wird, wenn die Protokollierung der Speicheranalyse aktiviert ist. Die Verwendung dieses Headers wird dringend empfohlen, um clientseitige Aktivitäten mit den vom Server empfangenen Anforderungen zu korrelieren. Weitere Informationen finden Sie unter Informationen zur Protokollierung durch die Speicheranalyse und Windows Azure-Protokollierung: Verwenden von Protokollen zur Nachverfolgung von Speicheranforderungen.

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

Bei einem erfolgreichen Vorgang wird der Statuscode 200 (OK) zurückgegeben.

Weitere Informationen zu Statuscodes finden Sie unter Status- und Fehlercodes.

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

Dieser Header identifiziert die erfolgte Anforderung eindeutig und kann für die Problembehandlung der Anforderung verwendet werden. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge.

x-ms-version

Gibt die Version des Warteschlangendiensts an, der zum Ausführen der Abfrage verwendet wird. Dieser Header wird für Anforderungen zurückgegeben, die für Version 2009-09-19 und höher erfolgen.

Date

Ein vom Dienst generierter Datums-/Uhrzeitwert in UTC, der angibt, wann die Antwort initiiert wurde.

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.

noteHinweis
Das DequeueCount-Element wird im Antworttext nur dann zurückgegeben, wenn die Warteschlange mit Version 2009-09-19 des Warteschlangendiensts 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>

Beachten Sie, dass sich diese Antwort von der Antwort für den Get Messages Vorgang dadurch unterscheidet, dass das PopReceipt-Element bzw. das TimeNextVisible-Element in der Antwort nicht enthalten ist.

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>

Dieser Vorgang kann durch den Kontobesitzer und von jedem Benutzer mit einer SAS (Shared Access Signature) ausgeführt werden, der über die Berechtigung zum Ausführen des Vorgangs verfügt.

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 so lange verfügbar, bis ein Client die Nachricht mit dem Get Messages-Vorgang abruft. Der die Nachricht anfordernde Client empfängt mit der Antwort keine Abrufbestätigung, sodass er die Nachricht nicht löschen kann.

Nur sichtbare Nachrichten können mit dem Peek Messages-Vorgang abgerufen werden. Beachten Sie, dass die maximale Anzahl abzurufender Nachrichten 32 beträgt.

Wenn eine Nachrichten erstmalig mit einem Get Messages-Aufruf abgerufen wird, wird deren DequeueCount-Eigenschaft auf 1 festgelegt. Wenn sie nicht gelöscht und anschließend erneut abgerufen wird, wird der Wert der DequeueCount-Eigenschaft erhöht. Der Client bestimmt anhand dieses Werts möglicherweise, wie oft eine Nachricht abgerufen wurde. Beachten Sie, dass ein Aufruf von Peek Messages den Wert von DequeueCount nicht inkrementiert, diesen Wert jedoch für den Client zum Lesen zurückgibt.

Wenn der numofmessages-Parameter außerhalb des Gültigkeitsbereichs liegt, gibt der Dienst Statuscode 400 (Ungültige Anforderung) sowie zusätzliche Fehlerinformationen zurück, wie im folgenden Beispiel veranschaulicht.

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>

Anzeigen:
© 2014 Microsoft