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.
Sendet eine Nachricht an eine Servicebus-Warteschlange oder ein Thema.
Bitten
| Methode | Anforderungs-URI | HTTP-Version |
|---|---|---|
| BEREITSTELLEN | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages |
HTTP/1.1 |
Anforderungsheader
In der folgenden Tabelle werden die erforderlichen und optionalen Anforderungsheader beschrieben. Zusätzlich zu den aufgelisteten Eigenschaften kann die Kopfzeile benutzerdefinierte Eigenschaften enthalten. Sehen Sie sich das Beispiel an.
| Anforderungsheader | Beschreibung |
|---|---|
Authorization |
Geben Sie einen der folgenden Tokenwerte an:
|
Content-Type |
Legen Sie den entsprechenden Inhaltstyp für den geposteten Entitätstext (Nachrichtennutzlast) fest. |
BrokerProperties |
JSON-codierter Satz von BrokeredMessage Eigenschaften. |
x-ms-retrypolicy |
(Optional) Legen Sie auf NoRetry fest, um den automatischen Wiederholungsversuche bei Sendevorgängen zu deaktivieren, wenn vorübergehende Fehler auftreten. |
Anforderungstext
Der Anforderungstext ist die Nachrichtennutzlast.
Wenn die Nachricht über ein anderes Protokoll als HTTP/HTTPS empfangen werden soll, muss der Nachrichtentext serialisiert werden; Beispielsweise mit einem XML-System.Runtime.Serialization.DataContractSerializer. Zum Beispiel:
MemoryStream ms = new MemoryStream();
DataContractSerializer serializer = new DataContractSerializer(typeof(string));
serializer.WriteObject(ms, "This is a message.");
byte[] body = ms7.ToArray();
Der vorangehende Code erzeugt den folgenden Nachrichtentext:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">This is a message.</string>
Sie können die Nachricht mit dem folgenden Code empfangen und verarbeiten:
BrokeredMessage message = queueClient.Receive();
string body = message.GetBody<string>(new DataContractSerializer(typeof(string)));
Antwort
Die Antwort enthält einen HTTP-Statuscode und eine Reihe von Antwortheadern.
Antwortcodes
| Code | Beschreibung |
|---|---|
| 201 | Nachricht wurde erfolgreich an Warteschlange oder Thema gesendet. |
| 400 | Ungültige Anforderung. |
| 401 | Autorisierungsfehler. |
| 403 | Kontingent überschritten oder Nachricht zu groß. |
| 410 | Die angegebene Warteschlange oder das angegebene Thema ist nicht vorhanden. |
| 500 | Interner Fehler. |
Informationen zu Statuscodes finden Sie unter Status- und Fehlercodes.
Hinweis
Wenn Sie eine 401 Unauthorized Response erhalten, überprüfen Sie, ob das SAS-Token im Authorization-Header ordnungsgemäß erstellt, signiert und URL-codiert ist und mit dem genauen URI der Service Bus-Entität übereinstimmt.
Antwortheader
Inhaltstyp als übergeben.
Antworttext
Nichts.
Beispiel
Die folgende HTTP-Anforderung sendet eine Nachricht an eine Warteschlange oder ein Thema. Die Nachricht weist die folgenden Eigenschaften auf:
Label: "M1"
TimeToLive: 10 seconds
State: Active
Message body: "This is a message."
Zusätzlich zum BrokeredPropertiesenthält die Nachricht die folgenden benutzerdefinierten Eigenschaften: Priority=High und Customer="12345,ABC".
POST https://your-namespace.servicebus.windows.net/HttpClientSampleQueue/messages?timeout=60 HTTP/1.1
Authorization: SharedAccessSignature sr=your-namespace&sig=Fg8yUyR4MOmXfHfj55f5hY4jGb8x2Yc%2b3%2fULKZYxKZk%3d&se=1404256819&skn=RootManageSharedAccessKey
BrokerProperties: {"Label":"M1","State":"Active","TimeToLive":10}
Priority: High
Customer: 12345,ABC
Content-Type: application/atom+xml;type=entry;charset=utf-8
Host: your-namespace.servicebus.windows.net
Content-Length: 18
Expect: 100-continue
This is a message.
Service Bus gibt die folgende Antwort zurück:
HTTP/1.1 201 Created
Transfer-Encoding: chunked
Content-Type: application/xml; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 01 Jul 2014 23:00:22 GMT
0