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

:サブスクライブ

最終更新日:Apr 29, 2025

トピックへのサブスクリプションを作成します。

承認情報

デフォルトでは、Alibaba Cloud アカウントのみを使用してこの操作を呼び出すことができます。必要な権限をRAMユーザーに付与した後のみ、RAMユーザーとしてこの操作を呼び出すことができます。次の表に、この操作の承認情報を示します。詳細については、「権限ポリシーと例」をご参照ください。

名前

API

Subscribe

アクション

mns:Subscribe

リソース

acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName

使用上の注意

  • サブスクリプション名は最大 255 文字で、文字、数字、およびハイフン (-) を含めることができます。文字または数字で始める必要があります。

  • サブスクリプションを作成するときは、エンドポイントを指定する必要があります。指定しないと、サブスクリプションは無効になります。

リクエスト

リクエストは次の部分で構成されます。

  • リクエスト行

    PUT /topics/$TopicName/subscriptions/$SubscriptionName HTTP/1.1

  • 操作固有のリクエストヘッダー

    なし。

  • リクエストボディ

    リクエストボディは XML 形式で、次のパラメーターを含みます。

    パラメーター

    タイプ

    必須

    説明

    Endpoint

    String

    はい

    http://example.com

    メッセージの受信に使用するエンドポイント。次のタイプのエンドポイントを指定できます。

    • [httpendpoint]。 HTTP エンドポイントは http:// で始まる必要があります。

    • [queueendpoint]。構文: acs:mns:{REGION}:{AccountID}:queues/{QueueName}。

    • [mailendpoint]。構文: mail:directmail:{MailAddress}。

    • [smsendpoint]。構文: sms:directsms:anonymous または sms:directsms:{Phone}。

    FilterTag

    String

    いいえ

    important

    メッセージのフィルタリングに使用するタグ。同じタグを持つメッセージのみプッシュできます。

    タグは最大 16 文字の文字列です。

    デフォルトでは、メッセージをフィルタリングするためのタグは指定されていません。

    NotifyStrategy

    Boolean

    いいえ

    BACKOFF_RETRY

    エンドポイントへのメッセージ配信中にエラーが発生した場合に適用される再試行ポリシー。

    有効な値:

    • BACKOFF_RETRY

    • EXPONENTIAL_DECAY_RETRY

    詳細については、「NotifyStrategy」をご参照ください。

    デフォルト値: BACKOFF_RETRY。

    NotifyContentFormat

    Boolean

    いいえ

    SIMPLIFIED

    エンドポイントにプッシュされるメッセージの形式。

    有効な値:

    • XML

    • JSON

    • SIMPLIFIED

    詳細については、「NotifyContentFormat」をご参照ください。

    デフォルト値: XML。

    Terraform を使用して alicloud_message_service_subscription を管理する場合は、次の表に示すパラメーターを設定します。

    パラメーター

    タイプ

    必須

    説明

    TopicName

    String

    はい

    testTopic

    トピックの名前。

    SubscriptionName

    String

    はい

    testSubscription

    サブスクリプションの名前。

    PushType

    String

    はい

    queue

    ターミナルタイプ。有効な値:

    • http: HTTP

    • queue

    • mpush: モバイルデバイス

    • alisms: Alibaba Cloud SMS

    • email

    Endpoint

    String

    はい

    demoQueue

    メッセージの受信に使用するエンドポイント。 PushType パラメーターを queue に設定する場合は、キュー名を指定する必要があります。

    MessageTag

    String

    いいえ

    important

    メッセージのフィルタリングに使用するタグ。同じタグを持つメッセージのみプッシュできます。

    タグは最大 16 文字の文字列です。

    デフォルトでは、メッセージをフィルタリングするためのタグは指定されていません。

    NotifyStrategy

    Boolean

    いいえ

    BACKOFF_RETRY

    MNS がエンドポイントにメッセージをプッシュするときにエラーが発生した場合に適用される再試行ポリシー。

    有効な値:

    • BACKOFF_RETRY

    • EXPONENTIAL_DECAY_RETRY

    詳細については、「NotifyStrategy」をご参照ください。

    デフォルト値: BACKOFF_RETRY。

    NotifyContentFormat

    Boolean

    いいえ

    SIMPLIFIED

    エンドポイントにプッシュされるメッセージの形式。

    有効な値:

    • XML

    • JSON

    • SIMPLIFIED

    詳細については、「NotifyContentFormat」をご参照ください。

    デフォルト値: XML。

レスポンス

レスポンスは次の部分で構成されます。

  • HTTP ステータスコード

    HTTP/1.1 201

    各サブスクリプション名は、トピック内で一意である必要があります。既存のサブスクリプションを作成すると、エラーが発生する可能性があります。たとえば、2 つのサブスクリプションのパラメーターの値が同じ場合、HTTP ステータスコード 204 が返されます。それ以外の場合、HTTP ステータスコード 409 が返されます。

  • 操作固有のレスポンスヘッダー

    パラメーター

    タイプ

    説明

    Location

    String

    http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName/subscriptions/$SubscriptionName

    作成されたサブスクリプションの URL。構文: http://$AccountId.mns.{REGION}.aliyuncs.com/topics/$TopicName/subscriptions/$SubscriptionName。

    その他のレスポンスヘッダーの詳細については、「共通パラメーター」をご参照ください。

  • レスポンスボディ

    なし。

リクエストの例

PUT /topics/$TopicName/subscriptions/$SubscriptionName HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Tue, 08 Dec 2015 06:06:46 GMT
Authorization:MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXA*****
x-mns-version: 2015-06-06

<?xml version="1.0" encoding="utf-8"?>
<Subscription xmlns="http://mns.aliyuncs.com/doc/v1/">
    <Endpoint>http://example.com</Endpoint>
    <NotifyStrategy>BACKOFF_RETRY</NotifyStrategy>
    <NotifyContentFormat>SIMPLIFIED</NotifyContentFormat>
    <FilterTag>important</FilterTag>
</Subscription>

レスポンスの例

HTTP/1.1 201
x-mns-request-id:56667376B2B71C9C1600****
x-mns-version: 2015-06-06
Location: http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName/subscriptions/$SubscriptionName

エラーコード

エラーコード

エラーメッセージ

HTTP ステータスコード

説明

SubscriptionNameLengthError

Subscription name length is out of range, should be between 1 and 255.

400

サブスクリプション名が無効なために返されるエラーメッセージ。有効な名前を指定する必要があります。

SubscriptionNameInvalid

The subscription you provided is invalid. SubscriptionName should start with alpha or digit, and contain only alpha, digit or -.

400

サブスクリプション名が無効なために返されるエラーメッセージ。有効な名前を指定する必要があります。

SubscriptionAlreadyExist

The subscription you want to create already exists.

409

指定されたサブスクリプションの名前が既存のサブスクリプションと同じであるが、パラメーターが既存のサブスクリプションと異なるために返されるエラーメッセージ。

EndpointInvalid

The endpoint you provided is invalid.

400

指定されたエンドポイントが無効なために返されるエラーメッセージ。詳細については、「リージョンとエンドポイント」をご参照ください。

InvalidArgument

The length of filter tag should be between 1 and 16.

400

タグの長さが制限を超えているために返されるエラーメッセージ。有効なタグを指定する必要があります。