調用該介面為指定裝置訂閱Topic。
使用說明
- 待訂閱Topic所屬裝置,必須已經接入物聯網平台並啟用線上。
- 調用本介面僅訂閱指定裝置的Topic,且單次調用最多訂閱10個Topic。
QPS限制
單個阿里雲帳號調用該介面的每秒請求數(QPS)最大限制為10。
說明 RAM使用者共用阿里雲帳號配額。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
請求參數
| 名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
| Action | String | 是 | SubscribeTopic | 系統規定參數。取值:SubscribeTopic。 |
| DeviceName | String | 是 | device1 | 指定要訂閱Topic所屬裝置的DeviceName。 |
| ProductKey | String | 是 | a1Q5XoY*** | 裝置所屬產品的ProductKey。 |
| Topic.N | RepeatList | 是 | /a1Q5XoY***/device1/user/get | 要訂閱的Topic,最多訂閱10個Topic。 Topic的操作許可權必須為訂閱或發布和訂閱。 |
| IotInstanceId | String | 否 | iot-06*** | 執行個體ID。您可在物聯網平台控制台的執行個體概覽頁面,查看當前執行個體的ID。 重要
執行個體的更多資訊,請參見執行個體概述。 |
調用API時,除了本文介紹的該API的特有請求參數,還需傳入公用請求參數。公用請求參數說明,請參見公用參數文檔。
返回資料
| 名稱 | 類型 | 樣本值 | 描述 |
| Code | String | iot.system.SystemException | 調用失敗時,返回的錯誤碼。更多資訊,請參見錯誤碼。 |
| ErrorMessage | String | 系統異常 | 調用失敗時,返回的出錯資訊。 |
| RequestId | String | BB71E443-4447-4024-A000-EDE09922891E | 阿里雲為該請求產生的唯一識別碼。 |
| 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 | An error occurred while batch subscribing to the topic. | 批量訂閱主題失敗。 |
| 400 | Iot.System.BillIsOverDue | Your account has overdue payments. Go to the expense center and add funds to your account. | 您已欠費超期,請到賬戶中心儲值! |
| 400 | Iot.MessageBroker.EmptySubTopicList | The subscription topic list is empty. | 訂閱的主題列表為空白。 |
| 400 | Iot.Device.NotExistedDevice | The device does not exist. | 裝置不存在或未啟用。 |
| 403 | Iot.Device.NotDeviceOwner | You are not the device owner. | 當前操作者不是裝置的擁有者。 |
| 400 | Iot.MessageBroker.TopicTemplateIsNotFound | The topic template does not exist. | 主題模板不存在。 |
| 400 | iot.prod.NotExistedProduct | The specified product does not exist. | 指定的產品不存在。 |
| 400 | iot.device.InactiveDevice | The device is inactive. | 裝置未啟用,即物理裝置從未串連物聯網平台。 |
訪問錯誤中心查看更多錯誤碼。