POSTリクエストを送信することで、エンドポイントに通知をプッシュします。
説明
Simple Message Queue(旧MNS) 操作を呼び出して、POSTリクエストを送信することで、エンドポイントに通知をプッシュできます。通知は次の形式をサポートしています。
- XML形式
リクエストボディには、メッセージの内容と関連パラメータが含まれています。
- SIMPLIFIED形式
リクエストボディには、メッセージの内容のみが含まれています。メッセージのIDはリクエストヘッダーに含まれています。
リクエスト
各リクエストは、次の部分で構成されています。
- リクエスト行
POST /notifications HTTP/1.1デフォルトでは、
/notificationsセクションがリクエスト行に指定されています。サブスクリプションを作成するときにエンドポイントのURIを指定した場合は、/notificationsをURIに置き換えることができます。 - 操作固有のURIパラメータ
なし。
- 操作固有のリクエストヘッダー
パラメータ 説明 サポートされているコンテンツ形式 Authorization リクエストの署名。 XMLおよびSIMPLIFIED x-mns-signing-cert-url 署名証明書のBase64エンコードされたURI。 XMLおよびSIMPLIFIED x-mns-request-id リクエストのID。 XMLおよびSIMPLIFIED x-mns-message-id プッシュされるメッセージのID。 SIMPLIFIED x-mns-message-tag プッシュされるメッセージのタグ。 SIMPLIFIED - リクエストボディ
NotifyContentFormatパラメータをXMLに設定した場合、リクエストボディにはメッセージの内容と関連パラメータが含まれます。
パラメータ 説明 TopicOwner トピックの所有者。 TopicName トピックの名前。 Subscriber サブスクライバークライアント。 SubscriptionName サブスクリプションの名前。 MessageId メッセージのID。 Message メッセージ本文。 MessageMD5 メッセージ本文のMD5ハッシュ。 MessageTag メッセージをフィルタリングするために使用されるタグ。 PublishTime メッセージが公開された時刻。値はUNIX時間形式に従うタイムスタンプです。1970年1月1日木曜日00:00:00からの経過ミリ秒数です。 NotifyContentFormatパラメータをSIMPLIFIEDに設定した場合、リクエストボディにはメッセージ本文のみが含まれます。
レスポンス
各レスポンスは、次の部分で構成されています。
- HTTPステータスコード
HTTP/1.1 204 No Content- 通知が処理された場合、HTTPステータスコード 204 が返されます。HTTPステータスコード 204 が 5 秒以内に返されない場合、リクエストはタイムアウトし、メッセージのプッシュが再試行されます。
- リクエストの署名の検証に失敗した場合、HTTPステータスコード 403 が返されます。
- その他のエラーが発生した場合、HTTPステータスコード 500 が返されます。
- 操作固有のレスポンスヘッダー
なし。
- レスポンスボディ
なし。
例
リクエストの例
- XML形式
POST /notifications HTTP/1.1 Host: example.com Date: Tue, 08 Dec 2015 06:42:00 GMT Content-Length: 300 Content-Type: text/xml;charset=utf-8 Content-MD5: OGQzNjAwYjIwMWFiMTliZDlhNzc4YjAwZjc5MGQ4**** Authorization: QSNS+vn3IqJI4lOh4X/dxTv7Qebi/wrEaBJlzFFTc0hJVRUmrHLQo24ojBUETpz48+jrsjxMGPJTILDw752J**** User-Agent: Aliyun Notification Service Agent x-mns-request-id: 56667BB81FD0E7D12000**** x-mns-version: 2015-06-06 x-mns-signing-cert-url: aHR0cDovL21uc3Rlc3Qub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbS94NTA5X3B1YmxpY19jZXJ0aWZpY2F0ZS5w**** <? xml version="1.0" encoding="utf-8"? > <Notification xlmns="http://mns.aliyuncs.com/doc/v1/"> <TopicOwner>$TopicOwner</TopicOwner> <TopicName>$TopicName</TopicName> <Subscriber>$Subscriber</Subscriber> <SubscriptionName>$SubscriptionName</SubscriptionName> <MessageId>6CC4D900CA59A2CD-1-15180534A8F-20000****</MessageId> <Message>{1:"a", 2:"b"}</Message> <MessageMD5>F1E92841751D795AB325861034B5****</MessageMD5> <MessageTag>important</MessageTag> <PublishTime>1449556920975</MessagePublishTime> </Notification> - SIMPLIFIED形式
POST /notifications HTTP/1.1 Host: example.com Date: Tue, 15 Dec 2015 09:12:46 GMT Content-Length: 487 Content-Type: text/plain;charset=utf-8 Content-MD5: NmY4Njk0MzlmNzg3NTFkMTJiN2M5OWE4ZmYzNTU4**** Authorization: aXZIpRkRmIavmwceCyrPatB7SaEbOJdWpmFWYX3nFwtmaixK/M/3kl1njY0pgM7mrIB7NlBv5NfUZNkcIjlO**** User-Agent: Aliyun Notification Service Agent x-mns-message-id: 6CC4D900CA59A2CD-1-15180534A8F-20000**** x-mns-message-tag: important x-mns-request-id: 566FD963B2B71C44481F**** x-mns-signing-cert-url: aHR0cDovL21uc3Rlc3Qub3NzLWNuLWhhbmd6aG91LmFsaXl1bmNzLmNvbS94NTA5X3B1YmxpY19jZXJ0aWZpY2F0ZS5w**** x-mns-version: 2015-06-06 {1:"a", 2:"b"}
成功レスポンスの例
HTTP/1.1 204 No Content