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

IoT Platform:SubscribeTopic

最終更新日:Apr 17, 2025

デバイスの 1 つ以上のトピックをサブスクライブします。

使用上の注意

  • トピックをサブスクライブする必要があるデバイスは、IoT Platform に接続され、オンラインである必要があります。
  • この操作を呼び出して、指定されたデバイスのトピックをサブスクライブできます。 1 回の呼び出しで最大 10 個のトピックを指定できます。

QPS 制限

各 Alibaba Cloud アカウントは、最大 10 クエリ/秒(QPS)を実行できます。

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

デバッグ

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

リクエストパラメータ

パラメータ タイプ 必須 例 説明
Action String Yes SubscribeTopic

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

DeviceName String Yes device1

トピックが属するデバイスのDeviceName。

ProductKey String Yes a1Q5XoY***

デバイスが属するプロダクトのProductKey。

Topic.N RepeatList Yes /a1Q5XoY***/device1/user/get

サブスクライブするトピック。最大 10 個のトピックを指定できます。

トピックには、サブスクライブまたはパブリッシュとサブスクライブ権限が必要です。

IotInstanceId String No iot-06***

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

重要
  • インスタンスに ID がある場合は、このパラメータに ID を指定する必要があります。指定しないと、呼び出しは失敗します。
  • インスタンスに対して概要ページまたは ID が生成されていない場合は、このパラメータを設定する必要はありません。

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

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

レスポンスパラメータ

パラメータ タイプ 例 説明
Code String iot.system.SystemException

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

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

リクエストが失敗した場合に返されるエラーメッセージ。

RequestId String BB71E443-4447-4024-A000-EDE09922891E

リクエストの ID。

Success Boolean true

呼び出しが成功したかどうかを示します。

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

例

リクエストの例

http(s)://iot.cn-shanghai.aliyuncs.com/?Action=SubscribeTopic
&DeviceName=device1
&ProductKey=a1Q5XoY***
&Topic.1=/a1Q5XoY***/device1/user/get
&Topic.2=/a1Q5XoY***/device1/user/add
&<共通リクエストパラメータ>

成功レスポンスの例

XML 形式

<SubscribeTopicResponse>
  <RequestId>32B9828A-25DD-48E2-8E26-D1664B341940</RequestId>
  <Success>true</Success>
</SubscribeTopicResponse>

JSON 形式

{
    "RequestId": "32B9828A-25DD-48E2-8E26-D1664B341940",
    "Success": true
}

エラーコード

HttpCode エラーコード エラーメッセージ 説明
500 Iot.MessageBroker.BatchSubTopicFailed トピックのバッチサブスクライブ中にエラーが発生しました。 複数のトピックへのバッチサブスクライブが失敗したために返されるエラーメッセージ。
400 Iot.System.BillIsOverDue アカウントに支払い遅延があります。経費センターに移動して、アカウントに資金を追加してください。 支払い遅延があるために返されるエラーメッセージ。アカウントセンターに移動して、アカウントに資金を追加してください。
400 Iot.MessageBroker.EmptySubTopicList サブスクリプションのトピックリストが空です。 トピックリストが空であるために返されるエラーメッセージ。
400 Iot.Device.NotExistedDevice デバイスが存在しません。 デバイスが存在しないか、アクティブ化されていないために返されるエラーメッセージ。
403 Iot.Device.NotDeviceOwner デバイスの所有者ではありません。 現在のオペレーターがデバイスの所有者ではないために返されるエラーメッセージ。
400 Iot.MessageBroker.TopicTemplateIsNotFound トピックテンプレートが存在しません。 指定されたテンプレートが存在しないために返されるエラーメッセージ。
400 iot.prod.NotExistedProduct 指定されたプロダクトが存在しません。 指定されたプロダクトが存在しないために返されるエラーメッセージ。
400 iot.device.InactiveDevice デバイスは非アクティブです。 デバイスがアクティブ化されていないために返されるエラーメッセージ。これは、デバイスが IoT Platform に接続されたことがないことを示します。

エラーコードの一覧については、API エラーセンターをご参照ください。