Megosztás a következőn keresztül:


Üzenet elhelyezése

A Put Message művelet új üzenetet ad hozzá az üzenetsor hátuljához. A láthatóság időtúllépése is megadható, hogy az üzenet láthatatlanná legyen, amíg a láthatósági időkorlát le nem jár. Az üzeneteknek olyan formátumban kell lenniük, amely UTF-8 kódolással szerepelhet egy XML-kérelemben. A kódolt üzenet legfeljebb 64 kibájt méretű lehet a 2011-08-18-es és újabb verziókhoz, illetve 8 KiB a korábbi verziókhoz.

Kérés

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

Metódus Kérés URI-ja HTTP-verzió
POST https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> 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 Storage-portot 127.0.0.1:10001, majd az emulált tárfiók nevét:

Metódus Kérés URI-ja HTTP-verzió
POST http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> 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-ja a következő paramétereket adhatja meg:

Paraméter Leírás
visibilitytimeout=<int=seconds> Választható. Az új láthatóság időtúllépési értékét adja meg másodpercben a kiszolgálói időhöz viszonyítva. Ha meg van adva, a kérést a 2011-08-18-os vagy újabb verzióval x-ms-version kell elvégezni. Ha nincs megadva, az alapértelmezett érték 0. Az új értéknek 0-nál nagyobbnak vagy egyenlőnek kell lennie, és nem lehet hosszabb 7 napnál. Az üzenetek láthatósági időtúllépése nem állítható a lejárati dátumnál későbbi értékre. Állítsa az visibilitytimeout élettartamnál kisebb értékre.
messagettl=<int-seconds> Választható. Az üzenet élettartamát adja meg másodpercben. A 2017-07-29-nél korábbi verziókban a maximális élettartam 7 nap. A 2017-07-29-es és újabb verziók esetében a maximális élettartam bármilyen pozitív szám lehet, és ez azt jelzi, -1hogy az üzenet nem jár le. Ha ez a paraméter nincs megadva, az alapértelmezett élettartam 7 nap.
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 or 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.

A kérés törzse

A kérés törzse a következő XML-formátumban tartalmazza az üzenetadatokat. Vegye figyelembe, hogy az üzenet tartalmának UTF-8 kódolású formátumban kell lennie.

<QueueMessage>  
    <MessageText>message-content</MessageText>  
</QueueMessage>  

Mintakérés

Request:  
POST https://myaccount.queue.core.windows.net/messages?visibilitytimeout=30&timeout=30 HTTP/1.1  
  
Headers:  
x-ms-version: 2011-08-18  
x-ms-date: Tue, 30 Aug 2011 01:03:21 GMT  
Authorization: SharedKey myaccount:sr8rIheJmCd6npMSx7DfAY3L//V3uWvSXOzUBCV9wnk=  
Content-Length: 100  
  
Body:  
<QueueMessage>  
<MessageText>PHNhbXBsZT5zYW1wbGUgbWVzc2FnZTwvc2FtcGxlPg==</MessageText>  
</QueueMessage>  

Reagálás

A válasz egy HTTP-állapotkódot és válaszfejléceket tartalmaz.

Állapotkód

A sikeres művelet a 201-et (Létrehozva) állapotkódot adja vissza.

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 tartalmazhat. Minden szabványos fejléc megfelel a HTTP/1.1 protokoll specifikációjának.

Kérelem fejléce Leírás
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 service-verziót jelzi. Ez a fejléc a 2009-09-19-es és újabb verzióval kapcsolatos kérések esetén jelenik meg.
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 Ez a fejléc a kérések és a megfelelő 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 2016-05-31-es verziótól a művelet válasza Put Message tartalmazza az üzenet adatait a válasz törzsében. A visszaadott törzs XML-formátumát itt találja.

Az MessageID elem egy GUID-érték, amely azonosítja az üzenetet az üzenetsorban. Ezt az értéket a Queue Storage rendeli hozzá az üzenethez, és átlátszatlan az ügyfél számára. Ez az érték a PopReceipt elem értékével együtt használható egy üzenetsor törlésére vagy frissítésére. A PopReceipt értéke az ügyfél számára is átlátszatlan, és az Üzenet törlése vagy az Üzenet frissítése API-k használata esetén szükséges.

A InsertionTime, ExpirationTimeés TimeNextVisible elemek UTC-értékekként jelennek meg, és az RFC 1123-as verziójában leírtak szerint vannak formázva.

<QueueMessagesList>
    <QueueMessage>
      <MessageId>string-message-id</MessageId>
      <InsertionTime>insertion-time</InsertionTime>
      <ExpirationTime>expiration-time</ExpirationTime>
      <PopReceipt>opaque-string-receipt-data</PopReceipt>
      <TimeNextVisible>time-next-visible</TimeNextVisible>
    </QueueMessage>
</QueueMessagesList>

Mintaválasz

Response Status:
HTTP/1.1 200 OK
Response headers:
Transfer-Encoding: chunked
Content-Type: application/xml
x-ms-version: 2016-05-31
Date: Fri, 09 Oct 2016 21:04:30 GMT
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0

Response Body:

<?xml version="1.0" encoding="utf-8"?>
<QueueMessagesList>
  <QueueMessage>
    <MessageId>5974b586-0df3-4e2d-ad0c-18e3892bfca2</MessageId>
    <InsertionTime>Fri, 09 Oct 2016 21:04:30 GMT</InsertionTime>
    <ExpirationTime>Fri, 16 Oct 2016 21:04:30 GMT</ExpirationTime>
    <PopReceipt>YzQ4Yzg1MDItYTc0Ny00OWNjLTkxYTUtZGM0MDFiZDAwYzEw</PopReceipt>
    <TimeNextVisible>Fri, 09 Oct 2016 23:29:20 GMT</TimeNextVisible>
   </QueueMessage>
</QueueMessagesList>

Engedélyezés

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

Megjegyzések

A nem kötelező láthatósági időtúllépés azt az időt adja meg, amikor az üzenet láthatatlan. Az időkorlát lejárta után az üzenet láthatóvá válik. Ha nem ad meg időtúllépési időtúllépést, a rendszer az alapértelmezett 0 értéket használja.

A nem kötelező üzenet élettartamának megadása azt határozza meg, hogy mennyi ideig maradjon egy üzenet az üzenetsorban. Az üzenet az élettartam lejártakor törlődik az üzenetsorból.

Az üzeneteknek olyan formátumban kell lenniük, amely UTF-8 kódolással szerepelhet egy XML-kérelemben. A korrektúra üzenetbe való belefoglalásához az üzenet tartalmának XML-feloldásúnak vagy Base64-kódolásúnak kell lennie. Az üzenetben lévő, nem feloldott vagy kódolt XML-kódot a rendszer eltávolítja, mielőtt hozzáadja az üzenetet az üzenetsorhoz.

Ha az üzenet túl nagy, a szolgáltatás a 400-ás állapotkódot adja vissza (hibás kérés).

Lásd még

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