Üzenetek betekintője

A Peek Messages művelet egy vagy több üzenetet kér le az üzenetsor elejéről, de nem módosítja az üzenet láthatóságát.

Kérés

A kérést az Peek Messages alábbiak szerint hozhatja létre. Javasoljuk, hogy HTTPS-t használjon. Cserélje le a myaccount elemet a tárfiók nevére, a myqueue helyére pedig az üzenetsor nevét:

Metódus Kérés URI-ja HTTP-verzió
GET https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true HTTP/1.1

Emulált tárolási szolgáltatás kérése

Amikor kérést küld az emulált tárolási szolgáltatásra, adja meg az emulátor gazdagépnevét és a Queue service portot 127.0.0.1:10001, majd az emulált tárfiók nevét:

Metódus Kérés URI-ja HTTP-verzió
GET http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?peekonly=true HTTP/1.1

További információ: Az Azurite emulátor használata helyi Azure Storage-fejlesztéshez.

URI-paraméterek

A kérelem URI-ján a következő paraméterek adhatók meg.

Paraméter Leírás
numofmessages Választható. Nem nulla egész szám, amely az üzenetsorból betekintendő üzenetek számát adja meg, legfeljebb 32-ig. Alapértelmezés szerint egyetlen üzenet jelenik meg az üzenetsorból ezzel a művelettel.
timeout Választható. A timeout paraméter másodpercben van kifejezve. További információ: Időtúllépések beállítása a Queue szolgáltatás műveleteihez.

Kérésfejlécek

A szükséges és nem kötelező kérésfejléceket az alábbi táblázat ismerteti:

Kérelem fejléce Leírás
Authorization Kötelező. Megadja az engedélyezési sémát, a fióknevet és az aláírást. További információ: Kérelmek engedélyezése az Azure Storage-ba.
Date vagy x-ms-date Kötelező. Megadja a kérés egyezményes világidő (UTC) formátumban kifejezett időpontját. További információ: Kérelmek engedélyezése az Azure Storage-ba.
x-ms-version Választható. A kérelemhez használandó művelet verzióját adja meg. További információ: Az Azure Storage-szolgáltatások verziószámozása.
x-ms-client-request-id Választható. Ügyfél által generált, átlátszatlan értéket biztosít egy 1 kibibyte (KiB) karakterkorláttal, amelyet a naplózás konfigurálásakor rögzít a naplókban. Javasoljuk, hogy ezt a fejlécet használva korrelálja az ügyféloldali tevékenységeket a kiszolgáló által kapott kérésekkel. További információ: Az Azure Queue Storage monitorozása.

A kérés törzse

Nincsenek.

Reagálás

A válasz tartalmaz egy HTTP-állapotkódot, egy válaszfejléceket és egy XML-választörzset.

Állapotkód

A sikeres művelet a 200 -os állapotkódot adja vissza (OK).

További információ az állapotkódokról: Állapot- és hibakódok.

Válaszfejlécek

A műveletre adott válasz a következő fejléceket tartalmazza. A válasz további szabványos HTTP-fejléceket is tartalmaz. Minden szabványos fejléc megfelel a HTTP/1.1 protokoll specifikációjának.

Válaszfejléc Description
x-ms-request-id Egyedileg azonosítja a végrehajtott kérést, és segítségével elháríthatja a kérést. További információ: API-műveletek hibaelhárítása.
x-ms-version A kérés végrehajtásához használt Queue szolgáltatás verziója. A 2009-09-19-es és újabb verzióval kapcsolatos kérések esetén lett visszaadva.
Date A szolgáltatás által létrehozott UTC dátum/idő érték, amely a válasz indításának időpontját jelzi.
x-ms-client-request-id A kérések és a hozzájuk tartozó válaszok hibaelhárítására használható. A fejléc értéke megegyezik a x-ms-client-request-id kérelemben szereplő fejléc értékével, és az érték legfeljebb 1024 látható ASCII-karaktert tartalmaz. Ha a x-ms-client-request-id fejléc nem szerepel a kérelemben, akkor az nem jelenik meg a válaszban.

Választörzs

A művelet válasz XML-jének Peek Messages visszaadása a következő formátumban történik.

Az MessageID elem egy GUID-érték, amely azonosítja az üzenetet az üzenetsorban. Ezt az értéket a Queue szolgáltatás rendeli hozzá az üzenethez, és átlátszatlan az ügyfél számára.

A InsertionTime és ExpirationTime az elem UTC-értékként jelenik meg, és az RFC 1123-as verziójában leírtak szerint van formázva.

Az DequeueCount elem értéke 1 az üzenet első lekérdezésekor. Ez az érték minden alkalommal növekszik, amikor az üzenetet később lekérdezik.

Megjegyzés

A DequeueCount rendszer csak akkor adja vissza az elemet a választörzsben, ha az üzenetsor a Queue service 2009-09-19-es verziójával lett létrehozva.

<QueueMessagesList>  
    <QueueMessage>  
      <MessageId>string-message-id</MessageId>  
      <InsertionTime>insertion-time</InsertionTime>  
      <ExpirationTime>expiration-time</ExpirationTime>  
      <DequeueCount>integer</DequeueCount>  
      <MessageText>message-body</MessageText>  
    </QueueMessage>  
</QueueMessagesList>  

Megjegyzés

Ez a válasz abban különbözik az Üzenetek lekérése művelet válaszától, hogy nem tartalmazza a vagy TimeNextVisible elemeketPopReceipt.

Mintaválasz

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>  

Engedélyezés

Ezt a műveletet a fiók tulajdonosa és bárki végrehajthatja, aki rendelkezik a művelet végrehajtásához engedéllyel rendelkező közös hozzáférésű jogosultsággal.

Megjegyzések

Ha egy üzenet lekéri az üzenetsorból peekonly a következő értékre van állítva: true, az üzenet láthatósága változatlan marad. Az üzenet mindaddig elérhető marad az üzenetsor többi felhasználója számára, amíg az ügyfél le nem kéri az üzenetet az Üzenetek lekérése művelettel. Az üzenetet kérő ügyfél nem kap nyugtát a válaszhoz, ezért nem tudja törölni az üzenetet.

A művelettel Peek Messages csak a látható üzenetek kérhetők le. Vegye figyelembe, hogy a lekérhető üzenetek maximális száma 32.

Amikor a rendszer először kér le egy üzenetet a hívásával Get Messages, a tulajdonsága DequeueCount 1-re van állítva. Ha a rendszer nem törli, és később ismét lekéri, a DequeueCount tulajdonság növekszik. Az ügyfél ezt az értéket használhatja annak meghatározására, hogy egy üzenet hányszor lett lekérve.

Megjegyzés

A hívás Peek Messages nem növeli a értékét DequeueCount, de ezt az értéket adja vissza az ügyfél számára az olvasáshoz.

Ha a numofmessages paraméter kívül esik a tartományon, a szolgáltatás a 400-as állapotkódot (Hibás kérés) adja vissza a további hibainformációkkal együtt, ahogyan az alábbi példában látható:

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>  
  

Lásd még

Kérések engedélyezése az Azure Storage-nak
Állapot- és hibakódok
Üzenetsor-szolgáltatás hibakódjai