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

IoT Platform:CreateSubscribeRelation

最終更新日:Jun 25, 2025

メッセージサービス(MNS)またはAdvanced Message Queuing Protocol(AMQP)サーバー側サブスクリプションを作成します。

使用上の注意

サーバー側サブスクリプションは、次の 2 つのタイプに分類されます。

  • MNS サブスクリプション: サブスクライブされたメッセージを MNS キューにプッシュします。サーバーアプリケーションは、MNS キューをリッスンしてデバイスメッセージを受信します。詳細については、「MNS サーバー側サブスクリプションを構成する」をご参照ください。この操作を呼び出して、MNS サブスクリプションを作成できます。

  • AMQP サブスクリプション: AMQP チャネルを使用して、サブスクライブされたメッセージをサーバーにプッシュします。詳細については、「AMQP サーバー側サブスクリプションを構成する」をご参照ください。AMQP サブスクリプションを構成するには、次の手順を実行します。

    1. CreateConsumerGroup 操作を呼び出して、コンシューマーグループを作成し、返されたコンシューマーグループ ID を取得します。メッセージはコンシューマーグループにプッシュされます。 AMQP クライアントは、IoT Platform に接続するときにコンシューマーグループ ID を保持します。詳細については、「AMQP クライアントを IoT Platform に接続する」をご参照ください。

    2. CreateSubscribeRelation 操作を呼び出して、AMQP サブスクリプションを作成します。

    3. オプション。 CreateConsumerGroupSubscribeRelation 操作を呼び出して、コンシューマーグループを AMQP サブスクリプションに追加します。また、DeleteConsumerGroupSubscribeRelation 操作を呼び出して、AMQP サブスクリプションからコンシューマーグループを削除することもできます。

    4. オプション。 QueryConsumerGroupStatus 操作を呼び出して、オンラインクライアント情報、メッセージ消費率、累積メッセージ数、最後のメッセージ消費時間など、コンシューマーグループのステータスをクエリします。また、ResetConsumerGroupPosition 操作を呼び出して、コンシューマーグループの累積メッセージをクリアすることもできます。

QPS 制限

この API 操作は、アカウントごとに 1 秒あたり最大 5 回呼び出すことができます。

説明

Alibaba Cloud アカウントの RAM ユーザーは、アカウントのクォータを共有します。

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。便宜上、この操作は OpenAPI Explorer で呼び出すことをお勧めします。 OpenAPI Explorer は、さまざまな SDK のサンプルコードを動的に生成します。

リクエストパラメーター

パラメーター

タイプ

必須

説明

Action

String

Yes

CreateSubscribeRelation

実行する操作。値を CreateSubscribeRelation に設定します。

ProductKey

String

Yes

a1fyXVF****

サブスクリプションに指定されたプロダクトの ProductKey

IotInstanceId

String

No

iot-cn-0pp1n8t****

インスタンスの ID。IoT Platform コンソール の [概要] ページでインスタンスの ID を確認できます。

重要
  • インスタンスに ID がある場合は、このパラメーターに ID を指定する必要があります。指定しないと、呼び出しは失敗します。

  • インスタンスに 概要 ページまたは ID が生成されていない場合は、このパラメーターを構成する必要はありません。

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

DeviceDataFlag

Boolean

No

true

アップストリームデバイスメッセージをプッシュするかどうかを指定します。有効な値:

  • true: はい。

  • false: いいえ。これがデフォルト値です。

DeviceStatusChangeFlag

Boolean

No

true

デバイスのステータス変更に関するメッセージをプッシュするかどうかを指定します。有効な値:

  • true: はい。

  • false: いいえ。これがデフォルト値です。

DeviceTopoLifeCycleFlag

Boolean

No

true

デバイスのトポロジ関係の変更に関するメッセージをプッシュするかどうかを指定します。有効な値:

  • true: はい。このパラメーターは、ゲートウェイプロダクトに対してのみ有効です。

  • false: いいえ。これがデフォルト値です。

FoundDeviceListFlag

Boolean

No

true

ゲートウェイが新しいサブデバイスを検出したときにメッセージをプッシュするかどうかを指定します。有効な値:

  • true: はい。このパラメーターは、ゲートウェイプロダクトに対してのみ有効です。

  • false: いいえ。これがデフォルト値です。

ThingHistoryFlag

Boolean

No

true

アップストリームの履歴 Thing Specification Language(TSL)データをプッシュするかどうかを指定します。有効な値:

  • true: はい。

  • false: いいえ。これがデフォルト値です。

DeviceLifeCycleFlag

Boolean

No

true

デバイスのライフサイクル変更に関するメッセージをプッシュするかどうかを指定します。有効な値:

  • true: はい。

  • false: いいえ。これがデフォルト値です。

OtaEventFlag

Boolean

No

true

無線(OTA)アップデートバッチのステータスに関する通知をプッシュするかどうかを指定します。有効な値:

  • true: はい。

  • false: いいえ。これがデフォルト値です。

DeviceTagFlag

Boolean

No

true

デバイスタグの変更に関するメッセージをプッシュするかどうかを指定します。有効な値:

  • true: はい。 Type パラメーターを AMQP に設定した場合にのみ、このパラメーターは有効です。

  • false: いいえ。これがデフォルト値です。

OtaVersionFlag

Boolean

No

true

OTA モジュールのバージョン番号に関するメッセージをプッシュするかどうかを指定します。有効な値:

  • true: はい。 Type パラメーターを AMQP に設定した場合にのみ、このパラメーターは有効です。

  • false: いいえ。これがデフォルト値です。

OtaJobFlag

Boolean

No

true

OTA アップデートバッチのステータスに関する通知をプッシュするかどうかを指定します。有効な値:

  • true: はい。 Type パラメーターを AMQP に設定した場合にのみ、このパラメーターは有効です。

  • false: いいえ。これがデフォルト値です。

Type

String

No

AMQP

サブスクリプションのタイプ。有効な値:

  • MNS

  • AMQP

ConsumerGroupIds.N

RepeatList

No

nJRaJPn5U1JITGfjBO9l00****

AMQP サブスクリプションで作成されたコンシューマーグループの ID。 Type パラメーターを AMQP に設定した場合、このパラメーターは必須です。

CreateConsumerGroup 操作を呼び出してコンシューマーグループを作成すると、コンシューマーグループ ID が返されます。 QueryConsumerGroupList 操作を呼び出して、コンシューマーグループ名でコンシューマーグループ ID をクエリできます。また、IoT Platform コンソールにログインし、 メッセージ転送 > サーバー側サブスクリプション > コンシューマーグループ を選択して、コンシューマーグループ ID を表示することもできます。

MnsConfiguration

String

No

{ "queueName": "mns-test-topic1", "regionName": "cn-shanghai", "role": { "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole", "roleName": "AliyunIOTAccessingMNSRole" } }

MNS キューの構成。 Type パラメーターを AMQP に設定した場合、このパラメーターは必須です。

詳細については、「MnsConfiguration パラメーターの定義」セクションをご参照ください。

SubscribeFlags

String

No

{ "jt808DeviceDataFlag": true }

特定のサブスクライブ済みプロダクトのメッセージを受信するかどうかを指定します。

JT/T 808 ゲートウェイプロダクトをサブスクライブする場合は、SubscribeFlags パラメーターを構成する必要があります。値を次のコードに設定します。


{
    "jt808DeviceDataFlag": true
}
説明

少なくとも 1 つの Flag 関連パラメーターを に設定する必要があります。

MnsConfiguration パラメーターの定義

パラメーター

説明

queueName

データを受信するために使用される MNS トピックの名前。 MNS コンソールでキューを作成し、キュー名を取得する必要があります。詳細については、「キューベースのメッセージングを開始する」をご参照ください。

regionName

MNS がデプロイされているリージョンのコード。例:cn-shanghai。

role

RAM ロールの情報。 IoT Platform が MNS にアクセスすることを承認するには、IoT Platform にサービスロールを割り当てることができます。次のスクリプトは、RAM ロールの構文を示しています。

{"roleArn":"acs:ram::5645***:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}

5645*** を Alibaba Cloud アカウント ID に置き換えます。 Alibaba Cloud 管理コンソールにログインし、[セキュリティ設定] ページでアカウント ID を確認できます。

AliyunIOTAccessingMNSRole は、Resource Access Management(RAM)で定義されているサービスロールを示します。このロールは、IoT Platform が MNS にアクセスすることを承認するために使用されます。 RAM コンソールの [RAM ロール] ページに移動して、RAM ロールを管理できます。

MnsConfiguration パラメーターの例


{
    "queueName": "mns-test-topic1",
    "regionName": "cn-shanghai",
    "role": {
        "roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",
        "roleName": "AliyunIOTAccessingMNSRole"
    }
}

上記の操作固有のリクエストパラメーターに加えて、この操作を呼び出すときは、共通リクエストパラメーターを構成する必要があります。共通リクエストパラメーターの詳細については、「共通パラメーター」をご参照ください。

レスポンスパラメーター

パラメーター

タイプ

説明

Code

String

iot.system.SystemException

呼び出しが失敗した場合に返されるエラーコード。エラーコードの詳細については、「エラーコード」をご参照ください。

ErrorMessage

String

システム例外が発生しました。

呼び出しが失敗した場合に返されるエラーメッセージ。

RequestId

String

21D327AF-A7DE-4E59-B5D1-ACAC8C024555

リクエストの ID。

Success

Boolean

true

呼び出しが成功したかどうかを示します。有効な値:

  • true: 呼び出しは成功しました。

  • false: 呼び出しは失敗しました。

サンプルリクエスト

https://iot.cn-shanghai.aliyuncs.com/?Action=CreateSubscribeRelation
&OtaEventFlag=true
&ProductKey=a1Zkii7****
&Type=AMQP
&ConsumerGroupIds.1=Xs95KifeaSKbi8tKkcoD00****
&<共通リクエストパラメーター>

サンプルの成功レスポンス

XML 形式

<CreateSubscribeRelationResponse>
        <RequestId>C21DA94F-07D7-482F-8A0C-5BB0E3CC1A82</RequestId>
        <Success>true</Success>
</CreateSubscribeRelationResponse>

JSON 形式

{
    "RequestId": "C21DA94F-07D7-482F-8A0C-5BB0E3CC1A82",
    "Success": true
}

エラーコード

エラーコードのリストについては、「サービスエラーコード」をご参照ください。