メッセージを送信する
Service Bus キューまたはトピックにメッセージを送信します。
Request
Method | 要求 URI | HTTP バージョン |
---|---|---|
POST | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages|HTTP/1.1 |
要求ヘッダー
必須要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。 ヘッダーには、記載されているプロパティに加えて、カスタム プロパティが含まれる場合があります。 例を参照してください。
要求ヘッダー | 説明 |
---|---|
Authorization |
次のいずれかのトークン値を指定します。
|
Content-Type |
投稿されたエンティティ本文 (メッセージ ペイロード) に適切なコンテンツ タイプを設定します。 |
BrokerProperties |
JSON でエンコードされた一連の BrokeredMessage プロパティ。 |
x-ms-retrypolicy |
(省略可能)一時的なエラーが発生したときに送信操作の自動再試行を無効にするには、 を に NoRetry 設定します。 |
要求本文
要求本文はメッセージ ペイロードです。
メッセージを HTTP/HTTPS 以外のプロトコルで受信する場合は、メッセージ本文をシリアル化する必要があります。たとえば、XML System.Runtime.Serialization.DataContractSerializer を使用します。 次に例を示します。
MemoryStream ms = new MemoryStream();
DataContractSerializer serializer = new DataContractSerializer(typeof(string));
serializer.WriteObject(ms, "This is a message.");
byte[] body = ms7.ToArray();
前のコードは次のメッセージ本文を生成します。
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">This is a message.</string>
次のコードを使用して、メッセージを受信および処理できます。
BrokeredMessage message = queueClient.Receive();
string body = message.GetBody<string>(new DataContractSerializer(typeof(string)));
[応答]
応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。
応答コード
コード | 説明 |
---|---|
201 | メッセージはキューまたはトピックに正常に送信されました。 |
400 | 無効な要求です。 |
401 | 認証エラー。 |
403 | クォータを超過したか、メッセージが大きすぎます。 |
410 | 指定されたキューまたはトピックが存在しません。 |
500 | 内部エラーです。 |
状態コードの詳細については、「 状態コードとエラー コード」を参照してください。
レスポンス ヘッダー
渡された Content-type。
応答本文
[なし] :
例
次の HTTP 要求は、メッセージをキューまたはトピックに送信します。 このメッセージには、以下のプロパティがあります。
Label: "M1"
TimeToLive: 10 seconds
State: Active
Message body: "This is a message."
にBrokeredProperties
加えて、メッセージには、次のカスタム プロパティと Customer="12345,ABC"
が含まれますPriority=High
。
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 は次の応答を返します。
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