調用該介面在指定的規則下建立一個規則動作,定義將處理後的Topic資料,轉寄至物聯網平台的其他Topic,或所支援的其他阿里雲服務。
使用說明
QPS限制
單個阿里雲帳號調用該介面的每秒請求數(QPS)最大限制為50。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
請求參數
| 名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
| Action | String | 是 | CreateRuleAction | 系統規定參數。取值:CreateRuleAction。 |
| Configuration | String | 是 | {"topic":"/a1POX0c****/device1/user/get","topicType":1} | 該規則動作的配置資訊,傳入格式為JSON String。不同規則動作類型所需內容不同,具體要求和樣本見下文請求參數補充說明。 |
| RuleId | Long | 是 | 100000 | 要為其建立動作的規則ID。可在物聯網平台控制台,規則引擎>雲產品流轉頁查看規則ID,或調用ListRule從返回結果中查看。 |
| Type | String | 是 | REPUBLISH | 規則動作類型,取值:
說明 資料格式為二進位的規則(即規則的DataType參數是BINARY)不支援轉寄資料至OTS(Table Store)。 |
| IotInstanceId | String | 否 | iot-cn-0pp1n8t**** | 執行個體ID。您可在物聯網平台控制台的執行個體概覽頁面,查看當前執行個體的ID。 重要
執行個體的更多資訊,請參見執行個體概述。 |
| ErrorActionFlag | Boolean | 否 | false | 該規則動作是否為轉寄錯誤操作資料的轉寄動作,即轉寄流轉到其他雲產品失敗且重試失敗的資料。 可選值:
預設值為false。 |
名稱 |
描述 |
topic |
轉寄的目標Topic(物模型通訊Topic或自訂Topic)。支援將資料轉寄至資料下行的物模型通訊Topic: /sys/${YourProductKey}/${YourDeviceName}/thing/service/property/set
/sys/${YourProductKey}/${YourDeviceName}/thing/service/${tsl.service.identifier}
變數${tsl.service.identifier}的內容由該產品物模型中的服務決定。 |
topicType |
Topic的類型。 0:表示資料下行的物模型通訊Topic。 1:表示自訂Topic。 |
REPUBLISH 類型Configuration樣本:
sys類型:{"topic":"/sys/a1TXXXXXWSN/xxx_cache001/thing/service/property/set","topicType":0}
自訂類型:{"topic":"/a1TXXXXXWSN/xxx_cache001/user/update","topicType":1}
DATAHUB類型Configuration定義
名稱 |
描述 |
projectName |
目標DataHub中用來接收資訊的具體Project。 |
topicName |
目標DataHub中用來接收資訊的具體Topic。 |
regionName |
目標DataHub所在的阿里雲地區代碼,例如cn-shanghai。 |
role |
授權角色資訊。通過授予IoT指定的系統服務角色,您可以授權物聯網平台訪問您的DataHub。授權角色資訊格式: {"roleArn":"acs:ram::6541***:role/aliyuniotaccessingdatahubrole","roleName": "AliyunIOTAccessingDataHubRole"}
請將
|
schemaVals |
目標DataHub中的Schema列表,詳情參見下表schemaVals。 |
schemaVals
名稱 |
描述 |
name |
列名。 |
value |
列值。 |
type |
列類型。 BIGINT:大整數型。 DOUBLE:雙精確度浮點型。 BOOLEAN:布爾型。 TIMESTAMP:時間戳記型。 STRING:字串型。 DECIMAL:小數型。 |
DATAHUB類型Configuration樣本:
{
"schemaVals": [
{
"name": "devicename",
"value": "${deviceName}",
"type": "STRING"
},
{
"name": "msgtime",
"value": "${msgTime}",
"type": "TIMESTAMP"
}
],
"role": {
"roleArn": "acs:ram::6541***:role/aliyuniotaccessingdatahubrole",
"roleName": "AliyunIOTAccessingDataHubRole"
},
"projectName": "iot_datahub_stream",
"topicName": "device_message",
"regionName": "cn-shanghai"
}
OTS類型Configuration定義
名稱 |
描述 |
instanceName |
Table Store中用來接收資訊的執行個體名稱。 |
tableName |
Table Store中用來接收資訊的資料表名稱。 |
regionName |
目標執行個體所在的阿里雲地區代碼,例如cn-shanghai。 |
role |
授權角色資訊。通過授予物聯網平台指定的系統服務角色,您可以授權物聯網平台訪問您的Table Store。授權角色資訊: {"roleArn":"acs:ram::6541***:role/aliyuniotaccessingotsrole","roleName": "AliyunIOTAccessingOTSRole"}
請將
|
primaryKeys |
目標表中的主鍵列表。詳情參見下表PrimaryKeys。 |
PrimaryKeys
名稱 |
描述 |
columnType |
主鍵類型。 INTEGER:整型。 STRING:字串。 BINARY:二進位。 |
columnName |
主鍵名稱。 |
columnValue |
主索引值。 |
option |
主鍵是否為自增列,取值AUTO_INCREMENT或為空白。當主鍵類型為INTEGER,且該欄位為AUTO_INCREMENT時,主鍵為自增列。 |
OTS類型Configuration樣本:
{
"instanceName": "testaaa",
"tableName": "tt",
"primaryKeys": [
{
"columnType": "STRING",
"columnName": "ttt",
"columnValue": "${tt}",
"option": ""
},
{
"columnType": "INTEGER",
"columnName": "id",
"columnValue": "",
"option": "AUTO_INCREMENT"
}
],
"regionName": "cn-shanghai",
"role": {
"roleArn": "acs:ram::5645***:role/aliyuniotaccessingotsrole",
"roleName": "AliyunIOTAccessingOTSRole"
}
}
MNS類型Configuration定義
名稱 |
描述 |
themeName |
Message Service中用來接收資訊的目標主題名稱。 |
regionName |
目標Message Service所在的阿里雲地區代碼,例如cn-shanghai。 |
role |
授權角色資訊。通過授予物聯網平台指定的系統服務角色,您可以授權物聯網平台訪問您的Message Service。授權角色資訊: {"roleArn":"acs:ram::6541***:role/aliyuniotaccessingmnsrole","roleName": "AliyunIOTAccessingMNSRole"}
請將
|
MNS類型Configuration樣本:
{
"themeName": "mns-test-topic1",
"regionName": "cn-shanghai",
"role": {
"roleArn": "acs:ram::5645***:role/aliyuniotaccessingmnsrole",
"roleName": "AliyunIOTAccessingMNSRole"
}
}
FC類型Configuration定義
名稱 |
描述 |
functionName |
函數服務中用來接收資訊的目標函數名稱。 |
serviceName |
函數服務中用來接收資訊的目標服務名稱。 |
regionName |
目標函數服務執行個體所在阿里雲地區的代碼,如cn-shanghai。 |
role |
授權角色資訊。通過授予物聯網平台指定的系統服務角色,您可以授權物聯網平台訪問您的Function Compute服務。授權角色資訊: {"roleArn":"acs:ram::6541***:role/aliyuniotaccessingfcrole","roleName": "AliyunIOTAccessingFCRole"}
請將
|
FC類型Configuration樣本:
{
"regionName": "cn-shanghai",
"role": {
"roleArn": "acs:ram::5645***:role/aliyuniotaccessingfcrole",
"roleName": "AliyunIOTAccessingFCRole"
},
"functionName": "weatherForecast",
"serviceName": "weather"
}
ONS類型Configuration定義
名稱 |
描述 |
instanceId |
RocketMQ中用來接收訊息的目標Topic所屬的執行個體ID。 |
topic |
RocketMQ中用來接收資訊的目標Topic。 |
regionName |
目標RocketMQ執行個體所在的阿里雲地區代碼,例如cn-shanghai。 > 公網和同區流轉,使用普通版RocketMQ執行個體即可;如果您需要跨區流轉,則RocketMQ執行個體必需是鉑金版執行個體。 |
tag |
(可選)設定標籤。長度限制為128位元組。 |
role |
授權角色資訊。通過授予物聯網平台指定的系統服務角色,您可以授權物聯網平台訪問您的訊息佇列RocketMQ服務。授權角色資訊: {"roleArn":"acs:ram::6541***:role/aliyuniotaccessingonsrole","roleName": "AliyunIOTAccessingONSRole"}
請將
|
ONS類型Configuration樣本:
{
"instanceId": "MQ_INST_123157908552****_XXXXXX"
"topic": "aliyun-iot-XXXXX",
"regionName": "cn-hangzhou",
"role": {
"roleArn": "acs:ram::6541***:role/aliyuniotaccessingonsrole",
"roleName": "AliyunIOTAccessingONSRole"
}
}
AMQP類型Configuration定義
名稱 |
描述 |
groupId |
消費組ID。 |
AMQP類型Configuration樣本:
{
"groupId":"ZTh1JmyLGuZcUfv44p4z00****"
}
調用API時,除了本文介紹的該API的特有請求參數,還需傳入公用請求參數。公用請求參數說明,請參見公用參數文檔。
返回資料
| 名稱 | 類型 | 樣本值 | 描述 |
| ActionId | Long | 10003 | 調用成功時,規則引擎為該規則動作產生的規則動作ID,作為其標識符。 說明 請妥善保管該資訊。在調用與規則動作相關的介面時,您可能需要提供對應的規則動作ID。 |
| Code | String | iot.system.SystemException | 調用失敗時,返回的錯誤碼。更多資訊,請參見錯誤碼。 |
| ErrorMessage | String | 系統異常 | 調用失敗時,返回的出錯資訊。 |
| RequestId | String | 21D327AF-A7DE-4E59-B5D1-ACAC8C024555 | 阿里雲為該請求產生的唯一識別碼。 |
| Success | Boolean | true | 是否調用成功。
|
樣本
請求樣本
https://iot.cn-shanghai.aliyuncs.com/?Action=CreateRuleAction
&RuleId=100000
&Type=REPUBLISH
&Configuration={"topic":"/a1POX0c****/device1/user/get","topicType":1}
&<公用請求參數>
正常返回樣本
XML格式
<CreateRuleActionResponse>
<RequestId>21D327AF-A7DE-4E59-B5D1-ACAC8C024555</RequestId>
<ActionId>10003</ActionId>
<Success>true</Success>
</CreateRuleActionResponse>
JSON格式
{
"RequestId": "21D327AF-A7DE-4E59-B5D1-ACAC8C024555",
"ActionId": 10003,
"Success": true
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。