デバイスの 1 つ以上のトピックをサブスクライブします。
使用上の注意
- トピックをサブスクライブする必要があるデバイスは、IoT Platform に接続され、オンラインである必要があります。
- この操作を呼び出して、指定されたデバイスのトピックをサブスクライブできます。 1 回の呼び出しで最大 10 個のトピックを指定できます。
QPS 制限
各 Alibaba Cloud アカウントは、最大 10 クエリ/秒(QPS)を実行できます。
説明 Alibaba Cloud アカウントの RAM ユーザーは、Alibaba Cloud アカウントのクォータを共有します。
デバッグ
リクエストパラメータ
| パラメータ | タイプ | 必須 | 例 | 説明 |
| 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 コンソールの概要ページで確認できます。 重要
詳細については、「概要」をご参照ください。 |
上記の操作固有のリクエストパラメータに加えて、この操作を呼び出すときは、共通のリクエストパラメータを設定する必要があります。 詳細については、「共通リクエストパラメータ」をご参照ください。
レスポンスパラメータ
| パラメータ | タイプ | 例 | 説明 |
| Code | String | iot.system.SystemException | 呼び出しが失敗した場合に返されるエラーコード。 詳細については、「エラーコード」をご参照ください。 |
| ErrorMessage | String | システム例外が発生しました。 | リクエストが失敗した場合に返されるエラーメッセージ。 |
| RequestId | String | BB71E443-4447-4024-A000-EDE09922891E | リクエストの ID。 |
| Success | Boolean | true | 呼び出しが成功したかどうかを示します。
|
例
リクエストの例
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 エラーセンターをご参照ください。