Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wysyła komunikat do kolejki lub tematu usługi Service Bus.
Prosić
Metoda | Identyfikator URI żądania | Wersja PROTOKOŁU HTTP |
---|---|---|
POST | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages |
HTTP/1.1 |
Nagłówki żądań
W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań. Oprócz wymienionych właściwości nagłówek może zawierać właściwości niestandardowe. Zobacz przykład.
Nagłówek żądania | Opis |
---|---|
Authorization |
Określ jedną z następujących wartości tokenu:
|
Content-Type |
Ustaw odpowiedni typ zawartości dla treści jednostki opublikowanej (ładunek komunikatu). |
BrokerProperties |
Zestaw właściwości BrokeredMessage zakodowany w formacie JSON. |
x-ms-retrypolicy |
(Opcjonalnie) Ustaw wartość na NoRetry , aby wyłączyć automatyczne ponawianie prób przy operacjach wysyłania w przypadku wystąpienia przejściowych błędów. |
Treść żądania
Treść żądania to ładunek komunikatu.
Jeśli komunikat ma zostać odebrany za pośrednictwem protokołu innego niż HTTP/HTTPS, treść komunikatu musi być serializowana; na przykład z XML System.Runtime.Serialization.DataContractSerializer. Na przykład:
MemoryStream ms = new MemoryStream();
DataContractSerializer serializer = new DataContractSerializer(typeof(string));
serializer.WriteObject(ms, "This is a message.");
byte[] body = ms7.ToArray();
Powyższy kod tworzy następującą treść komunikatu:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">This is a message.</string>
Komunikat można odbierać i przetwarzać przy użyciu następującego kodu:
BrokeredMessage message = queueClient.Receive();
string body = message.GetBody<string>(new DataContractSerializer(typeof(string)));
Odpowiedź
Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi.
Kody odpowiedzi
Kod | Opis |
---|---|
201 | Komunikat został pomyślnie wysłany do kolejki lub tematu. |
400 | Nieprawidłowe żądanie. |
401 | Niepowodzenie autoryzacji. |
403 | Przekroczono limit przydziału lub zbyt duży komunikat. |
410 | Określona kolejka lub temat nie istnieje. |
500 | Błąd wewnętrzny. |
Aby uzyskać informacje o kodach stanu, zobacz stan i kody błędów.
Nagłówki odpowiedzi
typu zawartości zgodnie z przekazywaniem.
Treść odpowiedzi
Żaden.
Przykład
Następujące żądanie HTTP wysyła komunikat do kolejki lub tematu. Komunikat ma następujące właściwości:
Label: "M1"
TimeToLive: 10 seconds
State: Active
Message body: "This is a message."
Oprócz BrokeredProperties
komunikat zawiera następujące właściwości niestandardowe: Priority=High
i 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.
Usługa Service Bus zwraca następującą odpowiedź:
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