Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Put Message
Vorgang fügt eine neue Nachricht am Ende der Nachrichtenwarteschlange hinzu. Es kann auch ein Sichtbarkeits-Timeout angegeben werden, um die Nachricht unsichtbar zu machen, bis das Sichtbarkeits-Timeout abläuft. Eine Nachricht muss in einem Format vorliegen, das in einer XML-Anforderung mit UTF-8-Codierung enthalten sein kann. Die codierte Nachricht kann bis zu 64 Kibibyte (KiB) groß sein für Version 2011-08-18 und höher oder 8 KiB für frühere Versionen.
Anfrage
Sie können die Put Message
Anforderung wie folgt erstellen. Es wird empfohlen, HTTPS zu verwenden. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos und myqueue
durch den Namen Ihrer Warteschlange:
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
POST |
https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
HTTP/1.1 |
Emulierte Speicherdienstanforderung
Wenn Sie eine Anforderung an den emulierten Speicherdienst senden, geben Sie den Hostnamen des Emulators und den Speicherport in der Warteschlange als 127.0.0.1:10001
an, gefolgt vom Namen des emulierten Speicherkontos:
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
POST |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
HTTP/1.1 |
Weitere Informationen finden Sie unter Verwenden des Azurite-Emulators für die lokale Azure Storage-Entwicklung.
URI-Parameter
Sie können die folgenden Parameter für den Anforderungs-URI angeben:
Parameter | BESCHREIBUNG |
---|---|
visibilitytimeout=<int=seconds> |
Wahlfrei. Gibt den neuen Wert für das Sichtbarkeitstimeout in Sekunden relativ zur Serverzeit an. Wenn es angegeben ist, muss die Anforderung mit dem x-ms-version Wert 2011-08-18 oder höher erfolgen. Wenn er nicht angegeben ist, ist der Standardwert 0. Der neue Wert muss größer oder gleich 0 sein und darf nicht größer als 7 Tage sein. Das Sichtbarkeitstimeout einer Nachricht kann nicht auf einen Wert festgelegt werden, der nach dem Ablaufdatum liegt. Auf einen Wert festlegen visibilitytimeout , der kleiner als der Wert für die Gültigkeitsdauer ist. |
messagettl=<int-seconds> |
Wahlfrei. Gibt das Zeit-zu-Live-Intervall für die Nachricht in Sekunden an. In Versionen vor dem 29.07.2017 beträgt die maximal zulässige Gültigkeitsdauer 7 Tage. Für Version 2017-07-29 und höher kann die maximale Gültigkeitsdauer eine beliebige positive Zahl sein und -1 , was bedeutet, dass die Nachricht nicht abläuft. Wenn dieser Parameter nicht angegeben wird, beträgt die Standardzeit für live 7 Tage. |
timeout |
Wahlfrei. Der parameter timeout wird in Sekunden ausgedrückt. Weitere Informationen finden Sie unter Festlegen von Timeouts für Warteschlangendienstvorgänge. |
Anforderungsheader
Die erforderlichen und optionalen Anforderungsheader werden in der folgenden Tabelle beschrieben:
Anforderungs-Kopfzeile | BESCHREIBUNG |
---|---|
Authorization |
Erforderlich. Gibt das Autorisierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
Date
or x-ms-date
|
Erforderlich. Gibt die koordinierte Weltzeit (UTC) für die Anforderung an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage. |
x-ms-version |
Wahlfrei. Gibt die Version des Vorgangs an, der für diese Anforderung verwendet werden soll. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure Storage-Dienste. |
x-ms-client-request-id |
Wahlfrei. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem 1-Kibibyte-Zeichenlimit (KiB) bereit, der in den Protokollen aufgezeichnet wird, wenn die Protokollierung konfiguriert ist. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt. |
Anfragekörper
Der Text der Anforderung enthält die Nachrichtendaten im folgenden XML-Format. Beachten Sie, dass der Nachrichteninhalt in einem Format vorliegen muss, das mit UTF-8 codiert werden kann.
<QueueMessage>
<MessageText>message-content</MessageText>
</QueueMessage>
Musteranforderung
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>
Antwort
Die Antwort enthält einen HTTP-Statuscode und eine Reihe von Antwortheadern.
Statuscode
Ein erfolgreicher Vorgang gibt den Statuscode 201 (Erstellt) zurück.
Weitere Informationen zu Statuscodes finden Sie unter Status- und Fehlercodes.
Antwortkopfzeilen
Die Antwort für diesen Vorgang enthält die folgenden Header. Die Antwort kann auch zusätzliche Standard-HTTP-Header enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.
Anforderungs-Kopfzeile | BESCHREIBUNG |
---|---|
x-ms-request-id |
Identifiziert die anforderung eindeutig, die durchgeführt wurde, und Sie können sie verwenden, um die Anforderung zu beheben. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge. |
x-ms-version |
Gibt die Warteschlangendienstversion an, die zum Ausführen der Anforderung verwendet wurde. Dieser Header 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 |
Dieser Header kann zum Behandeln von Anforderungen und entsprechenden Antworten verwendet werden. 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. |
Antwortkörper
Ab Version 2016-05-31 enthält die Antwort für den Put Message
Vorgang die Nachrichteninformationen im Antworttext. Das XML-Format des zurückgegebenen Textkörpers wird hier beschrieben.
Bei dem MessageID
Element handelt es sich um einen GUID-Wert, der die Nachricht in der Warteschlange identifiziert. Dieser Wert wird der Nachricht von Queue Storage zugewiesen und ist für den Client nicht transparent. Dieser Wert kann zusammen mit dem Wert des PopReceipt-Elements verwendet werden, um eine Nachricht aus der Warteschlange zu löschen oder zu aktualisieren. Der Wert von PopReceipt ist auch für den Client nicht transparent und erforderlich, wenn Sie die APIs zum Löschen von Nachrichten oder zum Aktualisieren von Nachrichten verwenden.
Die InsertionTime
Elemente , ExpirationTime
, und TimeNextVisible
werden als UTC-Werte dargestellt und wie in RFC 1123 beschrieben formatiert.
<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>
Beispielantwort
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>
Autorisierung
Dieser Vorgang kann vom Kontobesitzer und von allen Personen mit einer Shared Access Signature mit Berechtigungen zum Ausführen dieses Vorgangs ausgeführt werden.
Bemerkungen
Das optionale Sichtbarkeits-Timeout gibt die Zeit an, in der die Nachricht unsichtbar ist. Nach Ablauf des Timeouts wird die Meldung sichtbar. Wenn Sie kein Sichtbarkeitstimeout angeben, wird der Standardwert 0 verwendet.
Die optionale Gültigkeitsdauer für Nachrichten gibt an, wie lange eine Nachricht in der Warteschlange verbleibt. Die Nachricht wird aus der Warteschlange gelöscht, wenn der Zeitraum bis zur Gültigkeitsdauer abgelaufen ist.
Eine Nachricht muss in einem Format vorliegen, das in einer XML-Anforderung mit UTF-8-Codierung enthalten sein kann. Um Markup in die Nachricht aufzunehmen, muss der Inhalt der Nachricht entweder XML-escaped oder Base64-kodiert sein. Alle XML-Markups in der Nachricht, die nicht maskiert oder codiert sind, werden entfernt, bevor die Nachricht der Warteschlange hinzugefügt wird. Wenn ein ungültiges Zeichen (z. B0x1F
. ) in der Nachricht mit XML-Escapezeichen versehen oder Base64-codiert ist, sind nachfolgende Lesevorgänge der Nachricht nicht erfolgreich.
Wenn die Nachricht zu groß ist, gibt der Dienst den Statuscode 400 (Ungültige Anforderung) zurück.
Siehe auch
Autorisieren von Anforderungen an Azure Storage
Status- und Fehlercodes
Fehlercodes des Warteschlangendiensts