Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato Put Message operace přidá novou zprávu na konec fronty zpráv. Lze také zadat časový limit viditelnosti, aby byla zpráva neviditelná až do vypršení časového limitu viditelnosti. Zpráva musí být ve formátu, který lze zahrnout do požadavku XML s kódováním UTF-8. Zakódovaná zpráva může mít velikost až 64 kibibajtů (KiB) pro verzi 2011-08-18 a novější nebo 8 KiB pro starší verze.
Žádost
Požadavek Put Message můžete vytvořit následujícím způsobem. Doporučujeme používat PROTOKOL HTTPS. Nahraďte myaccount názvem vašeho účtu úložiště a myqueue názvem vaší fronty:
| Metoda | Požadavek na URI | Verze protokolu HTTP |
|---|---|---|
POST |
https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
Protokol HTTP/1.1 |
Žádost o emulovanou službu úložiště
Když vytváříte požadavek na emulovanou službu úložiště, zadejte název hostitele emulátoru a port úložiště fronty jako 127.0.0.1:10001, následovaný názvem emulovaného účtu úložiště:
| Metoda | Požadavek na URI | Verze protokolu HTTP |
|---|---|---|
POST |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
Protokol HTTP/1.1 |
Další informace najdete v tématu Použití emulátoru Azurite pro místní vývoj ve službě Azure Storage.
Parametry identifikátoru URI
V identifikátoru URI požadavku můžete zadat následující parametry:
| Parametr | Popis |
|---|---|
visibilitytimeout=<int=seconds> |
Volitelný. Určuje novou hodnotu časového limitu viditelnosti v sekundách vzhledem k času serveru. Pokud je zadáno, musí být žádost podána pomocí formuláře an x-ms-version z 2011-08-18 nebo novějšího. Pokud není zadaná, výchozí hodnota je 0. Nová hodnota musí být větší nebo rovna 0 a nesmí být větší než 7 dní. Časový limit viditelnosti zprávy nelze nastavit na hodnotu, která je pozdější než datum vypršení platnosti. Nastavte visibilitytimeout na hodnotu menší, než je hodnota TTL (Time to Live). |
messagettl=<int-seconds> |
Volitelný. Určuje interval mezi časem zprávy v sekundách. Ve verzích starších než 2017-07-29 je maximální povolená doba životnosti 7 dní. Pro verzi 2017-07-29 a novější může být maximální hodnota TTL libovolná kladná hodnota a -1, což znamená, že platnost zprávy nevyprší. Pokud tento parametr vynecháte, výchozí hodnota time-to-live je 7 dní. |
timeout |
Volitelný. Parametr timeout se vyjadřuje v sekundách. Další informace najdete v tématu Nastavení časových limitů pro operace frontové služby. |
Hlavičky žádosti
Povinná a volitelná hlavička požadavku jsou popsána v následující tabulce:
| Hlavička požadavku | Popis |
|---|---|
Authorization |
Povinné. Určuje schéma autorizace, název účtu a podpis. Další informace najdete v tématu Autorizace požadavků na službu Azure Storage. |
Date
or x-ms-date
|
Povinné. Určuje standard UTC (Coordinated Universal Time) pro požadavek. Další informace najdete v tématu Autorizace požadavků na službu Azure Storage. |
x-ms-version |
Volitelný. Určuje verzi operace, která se má pro tento požadavek použít. Další informace najdete v tématu Správa verzí pro služby Azure Storage. |
x-ms-client-request-id |
Volitelný. Poskytuje hodnotu vygenerovanou klientem, neprůshlenou hodnotou s limitem znaků 1 kibibajtů (KiB), který je zaznamenán v protokolech při konfiguraci protokolování. Důrazně doporučujeme použít tuto hlavičku ke korelaci aktivit na straně klienta s požadavky, které server přijímá. |
Obsah požadavku
Tělo požadavku obsahuje data zprávy v následujícím formátu XML. Všimněte si, že obsah zprávy musí být ve formátu, který lze kódovat pomocí UTF-8.
<QueueMessage>
<MessageText>message-content</MessageText>
</QueueMessage>
Ukázkový požadavek
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>
Odezva
Odpověď obsahuje stavový kód HTTP a sadu hlaviček odpovědi.
Stavový kód
Úspěšná operace vrátí stavový kód 201 (vytvořeno).
Další informace o stavových kódech najdete v tématu Stav a kódy chyb.
Hlavičky odpovědi
Odpověď pro tuto operaci obsahuje následující hlavičky. Odpověď může obsahovat také další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.
| Hlavička požadavku | Popis |
|---|---|
x-ms-request-id |
Jednoznačně identifikuje požadavek, který byl proveden, a můžete ho použít k řešení potíží s požadavkem. Další informace najdete v tématu Řešení potíží s operacemi rozhraní API. |
x-ms-version |
Označuje verzi služby Queue, která byla použita k provedení požadavku. Tato hlavička se vrátí pro požadavky, které byly provedeny ve verzi 2009-09-19 a novější. |
Date |
Hodnota data a času UTC vygenerovaná službou, která označuje čas zahájení odpovědi. |
x-ms-client-request-id |
Tato hlavička se dá použít k řešení potíží s požadavky a odpovídajícími odpověďmi. Hodnota této hlavičky se rovná hodnotě hlavičky x-ms-client-request-id, pokud se nachází v požadavku a hodnota neobsahuje více než 1 024 viditelných znaků ASCII. Pokud v požadavku není hlavička x-ms-client-request-id, nezobrazí se v odpovědi. |
Obsah odpovědi
Od verze 2016-05-31 obsahuje odpověď na Put Message operaci informace o zprávě v těle odpovědi. Formát XML vráceného těla je popsán zde.
Element MessageID je hodnota GUID, která identifikuje zprávu ve frontě. Tato hodnota je přiřazena zprávě službou Queue Storage a je pro klienta neprůhledná. Tuto hodnotu lze použít společně s hodnotou elementu PopReceipt k odstranění nebo aktualizaci zprávy z fronty. Hodnota PopReceipt je také neprůhledná pro klienta a je vyžadována, když používáte rozhraní API pro odstranění zprávy nebo aktualizaci zprávy.
Prvky InsertionTime, ExpirationTime, a jsou reprezentovány TimeNextVisible jako hodnoty UTC a formátovány podle popisu v dokumentu RFC 1123.
<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>
Ukázková odpověď
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>
Autorizace
Tuto operaci může provést vlastník účtu a kdokoli se sdíleným přístupovým podpisem s oprávněními k provedení této operace.
Poznámky
Volitelný časový limit viditelnosti určuje dobu, po kterou je zpráva neviditelná. Po uplynutí časového limitu se zpráva stane viditelnou. Pokud neurčíte časový limit viditelnosti, použije se výchozí hodnota 0.
Volitelná zpráva time-to-live určuje, jak dlouho zpráva zůstane ve frontě. Zpráva je odstraněna z fronty po uplynutí doby TTL.
Zpráva musí být ve formátu, který lze zahrnout do požadavku XML s kódováním UTF-8. Aby bylo možné do zprávy zahrnout kódování, musí být obsah zprávy v kódování Base64. Jakýkoli kód XML ve zprávě, který není zakódovaný, způsobí, že zpráva bude neplatná. Pokud je ve zprávě zahrnut neplatný znak (například 0x1F), i když je to escapovaný znak XML, následné čtení zprávy nebude úspěšné.
Pokud je zpráva příliš velká, služba vrátí stavový kód 400 (Chybný požadavek).
Viz také
autorizace požadavků na službu Azure Storage
Kódy stavu a chyb
Kódy chyb služby fronty