すべてのプロダクト
Search
ドキュメントセンター

:Topic 関連の操作

最終更新日:Mar 22, 2020

CreateTopic

説明

このAPIは新規のtopicを作成するために使います。

topic名は256字以内で文字、数字、ハイフン(-)を含みます。名前の始まりは文字か数字でなければいけません。

リクエスト

リクエストは主に次のパートを含んでいます。

  • リクエスト行

    PUT /topics/$TopicName HTTP/1.1

  • 特別なリクエストヘッダー

    なし。詳細は Call method/Public parametersを参照してください。

  • リクエスト本文

    リクエスト本文はXML形式でtopic属性を含みます。

パラメータ名 説明 パラメータ値 必須/任意
MaximumMessageSize topicに送られる本文の最大メッセージ長(単位はバイト) 1,024 (1 KB) から 65, 536 (64 KB)までの整数です。 デフォルト値: 65,536 (64 KB) 任意
LoggingEnabled ログ管理を有効にするかどうか。”True” にするとログマネジメント機能は有効となり、 “False”にすると無効になります。 True/False; デフォルト値: False 任意

レスポンス

レスポンスメッセージは3つのパーツから成ります。 返信ステータス行, HTTPヘッダー, メッセージ本文

  • HTTP ステータスコード

    HTTP/1.1 201 Created

    同一リージョンの同一作成者による重複したtopic名は使えません。もし作成されたtopicが既存のtopicと名前と属性が同じであるとき、ステータスコード 204(No Content)が返されます。もし名前が同じではあるが属性が異なる場合は、ステータスコード 409(Conflict)が返されます。

  • 特別なレスポンスヘッダー

パラメータ名 説明
Location 作成されたtopicのURL。フォーマットは次のようになります。http://$AccountId.mns.<Region>.aliyuncs.com/topics/$TopicName

その他のレスポンスヘッダーに関してはCall Method/Public Parametersを参照してください。

  • レスポンス本文

    なし

特別なエラー

エラーコード エラーメッセージ ステータスコード
TopicAlreadyExist 作成しようとしたtopicは既に存在しています。 409
TopicNameLengthError Topic名の名前が長すぎます。1から256文字以内でなければいけません。 400

リクエストの例:

  1. PUT /topics/$TopicName HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Tue, 08 Dec 2015 05:57:57 GMT
  4. x-mns-version: 2015-06-06
  5. Authorization:MNS 15B4D3461F177624206A:eCtaUwfGS0oEfznzJEhWFxpf2yk=
  6. <?xml version="1.0" encoding="utf-8"?>
  7. <Topic xmlns="http://mns.aliyuncs.com/doc/v1/">
  8. <MaximumMessageSize>10240</MaximumMessageSize>
  9. <LoggingEnabled>True</LoggingEnabled>
  10. </Topic>

レスポンスの例:

  1. HTTP/1.1 201 Created
  2. x-mns-request-id:56667165B2B71C9C16000013
  3. x-mns-version: 2015-06-06
  4. Location: http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName

SetTopicAttributes

説明

このAPIはtopicの属性を変更するときに使います。

リクエスト

リクエストは主に次の部分を含みます。

  • リクエスト行

    PUT /topics/$TopicName?metaoverride=true HTTP/1.1

  • 特別なURIパラメータ

    metaoverride=true: topicの属性は変更されます。

  • 特別なリクエストヘッダー

    なし。 詳細はCall method/Public parametersを確認してください。

  • リクエスト本文

    リクエスト本文はXML形式で設定されたtopic属性を含んでいます。

パラメータ名 説明 パラメータ値 必須/任意
MaximumMessageSize topicに送られる本文の最大メッセージ長(単位はバイト) 1,024 (1 KB) から 65, 536 (64 KB); デフォルト値: 65,536 (64 KB) 任意
LoggingEnabled ログ管理を有効にするかどうか。”True” にするとログマネジメント機能は有効となり、 “False”にすると無効になります。 True/False; デフォルト値: False 任意

レスポンス

レスポンスメッセージは3つのパーツから成ります。 返信ステータス行, HTTPヘッダー, メッセージ本文

  • HTTP ステータスコード

    HTTP/1.1 204 No Content

  • 特別なレスポンスヘッダー

    なし。 詳細はCall method/Public parametersを参照してください。

  • レスポンス本文

    なし。

特別なエラー

エラーコード エラーメッセージ ステータスコード
TopicNotExist topicは存在しません。 404

リクエストの例:

  1. PUT /topics/$TopicName?metaoverride=true HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. x-mns-version: 2015-06-06
  4. Date: Tue, 08 Dec 2015 06:01:00 GMT
  5. Authorization:MNS 15B4D3461F177624206A:SeIRcZk3lKiP7bl19WB9Uz07bI8=
  6. <?xml version="1.0" encoding="utf-8"?>
  7. <Topic xmlns="http://mns.aliyuncs.com/doc/v1/">
  8. <MaximumMessageSize>65536</MaximumMessageSize>
  9. <LoggingEnabled>True</LoggingEnabled>
  10. </Topic>

レスポンスの例:

  1. HTTP/1.1 204 No Content
  2. x-mns-request-id:5666721CB2B71C9C1600001B
  3. x-mns-version: 2015-06-06

GetTopicAttributes

説明

このAPIは、既存のトピックの属性を取得するために使用されます。返される属性には、トピックの作成中に構成された属性、メッセージ保持期間、およびトピック作成時間が含まれます。

リクエスト

リクエストは次のパートを含みます。

  • リクエスト行

    GET /topics/$TopicName HTTP/1.1

  • 特別なリクエストヘッダー

    なし。 詳細はCall method/Public parametersを参照してください。

  • リクエスト本文

    なし。

レスポンス

レスポンスメッセージは3つのパーツから成ります。 返信ステータス行, HTTPヘッダー, メッセージ本文

  • HTTP ステータスコード

    HTTP/1.1 200 OK

  • 特別なレスポンスヘッダー

    なし。 詳細はCall method/Public parametersを参照してください。

  • レスポンス本文

    返り値は次のようなXML形式になります。 <TopicAttributes>Attribute Element List</TopicAttributes>

属性要素リスト

パラメータ名 説明
TopicName topicの名前
CreateTime topicが作成された日時。1970年1月1日00:00:00を起点として、経過した秒数で表す。
LastModifyTime topicの属性の最終更新時刻。1970年1月1日00:00:00を起点として、経過した秒数で表す。
MaximumMessageSize トピックに公開されたメッセージの最大本文長(単位はバイト)
MessageRetentionPeriod トピックのメッセージの最大存続期間。メッセージの公開時間から経過した秒数で定義されます。このパラメータで指定された時間が経過すると、メッセージはユーザーに正常にプッシュされたかどうかにかかわらず削除されます。
MessageCount topic内にあるメッセージの数
LoggingEnabled ログ管理を有効にするかどうか。”True” にするとログマネジメント機能は有効となり、 “False”にすると無効になります。

特別なエラー

エラーコード エラーメッセージ ステータスコード
TopicNotExist topicが存在しません 404

リクエストの例:

  1. GET /topics/$TopicName HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Tue, 08 Dec 2015 06:02:33 GMT
  4. x-mns-version: 2015-06-06
  5. Authorization:MNS 15B4D3461F177624206A:aVZgLZzVchjOtM1aecDQYFuj4Bo=

レスポンスの例:

  1. HTTP/1.1 200 OK
  2. Content-Type=text/xml;utf-8
  3. Content-Length:145
  4. x-mns-request-id:56667279B2B71C9C1600001D
  5. x-mns-version: 2015-06-06
  6. <?xml version="1.0" encoding="UTF-8"?>
  7. <Topic xmlns=http://mns.aliyuncs.com/doc/v1/”>
  8. <TopicName>$TopicName</TopicName>
  9. <CreateTime>1449554277</CreateTime >
  10. <LastModifyTime>1449554460</LastModifyTime>
  11. <MaximumMessageSize>65536</MaximumMessageSize>
  12. <MessageRetentionPeriod>86400</MessageRetentionPeriod>
  13. <MessageCount>0</MessageCount>
  14. <LoggingEnabled>True</LoggingEnabled>
  15. </Topic>

DeleteTopic

説明

このAPIは既存のtopicを削除するときに使います。

注意:

このAPIを使用するときは慎重に行ってください。トピックが削除されると、トピック内のすべてのメッセージとそのトピックのサブスクリプションも削除され、回復できません。

リクエスト

  1. リクエストは次のパートを含みます。
  • リクエスト行

    DELETE /topics/$TopicName HTTP/1.1

  • 特別なリクエストヘッダー

    なし。 詳細はCall method/Public parametersを参照してください。

  • リクエスト本文

    なし。

レスポンス

  1. レスポンスメッセージは3つのパーツから成ります。 返信ステータス行, HTTPヘッダー, メッセージ本文
  • HTTP ステータスコード

    HTTP/1.1 204 No Content

    もしtopicが削除され存在していないときは、ステータスコード 204 が返され削除は成功です。

  • 特別なレスポンスヘッダー

    なし。 詳細に関してはCall method/Public parametersを参照してください。

  • レスポンス本文

    なし。

リクエストの例:

  1. DELETE /topics/$TopicName HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Tue, 08 Dec 2015 06:05:08 GMT
  4. Authorization: MNS 15B4D3461F177624206A:xit63dyKs83PTJF0hx3fd04CWog=
  5. x-mns-version: 2015-06-06

レスポンスの例:

  1. HTTP/1.1 204 No Content
  2. x-mns-request-id: 56667314B2B71C9C16000021
  3. x-mns-version: 2015-06-06

ListTopic

説明

このAPIは、アカウントのトピックを一覧表示するために使用されます。ページ単位のクエリがサポートされています。特定のプレフィックスに基づいてトピックのリストを取得するには、このAPIを呼び出すときにx-mns-prefixパラメータを設定します。

ヒント:現在の要求に対して返されたトピックの総数がx-mns-ret-number値を超える場合、返されたXML結果にはNextMarkerが含まれ、次のページの開始位置を示し、この値はx-mns-marker次のページを表示するための次の要求のパラメータになります。

リクエスト

リクエストは次のパートを含みます。

  • リクエスト行

    GET /topics HTTP/1.1

  • 特別なリクエストヘッダー

パラメータ名 説明 必須/任意
x-mns-marker 前のページのNextMarkerから取得した次のページの開始位置。 任意
x-mns-ret-number 1回のリクエストで返されるサブスクリプションの最大数。1から1,000までの整数です。デフォルト値は1,000です。 任意
x-mns-prefix 指定された接頭辞で始まるトピック名を検索する。 任意

その他のパラメータに関してはCall Method/Public Parametersを参照してください。

  • レスポンス本文

    なし。

レスポンス

  1. レスポンスメッセージは3つのパーツから成ります。 返信ステータス行, HTTPヘッダー, メッセージ本文。
  • HTTP ステータスコード

    HTTP/1.1 200 OK

  • 特別なレスポンスヘッダー

    なし。詳細はCall method/Public parametersを参照してください。

  • レスポンス本文

    返される結果はXML形式です。最上位レイヤのトピック要素には複数のトピック要素が含まれ、各トピック要素にはトピックのURLを示すTopicURL要素が含まれます。返されたキューの数がx-mns-ret-number値を超える場合、NextMarker要素が含まれます次のページの開始位置となります。

リクエストの例:

  1. GET /topics HTTP/1.1
  2. x-mns-ret-number:2
  3. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  4. Date: Tue, 08 Dec 2015 05:59:22 GMT
  5. Authorization: NS15B4D3461F177624206A:ytChIeJt2klpvFxGCgVsPNI015k=
  6. x-mns-version: 2015-06-06

レスポンスの例:

  1. HTTP/1.1 200 OK
  2. x-mns-request-id:566671BAB2B71C9C16000019
  3. x-mns-version: 2015-06-06
  4. <?xml version="1.0" encoding="utf-8"?>
  5. <Topics xmlns="http://mns.aliyuncs.com/doc/v1/">
  6. <Topic>
  7. <TopicURL>http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName1</TopicURL>
  8. </Topic>
  9. <Topic>
  10. <TopicURL>http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName2</TopicURL>
  11. </Topic>
  12. <NextMarker>OTczNjU4MTcvYmRwejd6NXluby8yNjg0Mi9UZXN0VG9waWMtMy8w</NextMarker>
  13. </Topics>