全部產品
Search
文件中心

IoT Platform:UpdateRule

更新時間:Feb 11, 2025

調用該介面修改指定的規則。

QPS限制

單個阿里雲帳號調用該介面的每秒請求數(QPS)最大限制為50。

說明 RAM使用者共用阿里雲帳號配額。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

請求參數

名稱 類型 是否必選 樣本值 描述
Action String UpdateRule

系統規定參數。取值:UpdateRule。

RuleId Long 100000

要修改的規則ID。可在物聯網平台控制台,規則引擎>雲產品流轉頁查看規則ID,或調用ListRule從返回結果中查看。

IotInstanceId String iot-cn-0pp1n8t****

執行個體ID。您可在物聯網平台控制台的執行個體概覽頁面,查看當前執行個體的ID

重要
  • 若有ID值,必須傳入該ID值,否則調用會失敗。
  • 若無執行個體概覽頁面或ID值,則無需傳入。

執行個體的更多資訊,請參見執行個體概述

Select String deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature

要執行的SQL SELECT語句。具體內容參照SQL運算式

說明 此處傳入的是SELECT下的內容。例如,如果SELECT語句為SELECT a,b,c,則此處傳入a,b,c
ShortTopic String +/thing/event/property/post

應用該規則的具體Topic,格式一般為:${deviceName}/topicShortName。其中,${deviceName}是具體裝置的名稱,topicShortName是Topic簡短名稱。

  • 基礎通訊Topic或物模型通訊Topic的ShortTopic,格式一般為:${deviceName}/topicShortName。其中,${deviceName}可以使用萬用字元+代替,表示產品下所有裝置名稱。topicShortName取值如下:
    • /thing/event/property/post 裝置上報的屬性訊息。
    • /thing/event/${tsl.event.identifier}/post裝置上報的事件訊息,${}中是產品物模型中事件identifier。
    • /thing/lifecycle 裝置生命週期變更訊息。
    • /thing/downlink/reply/message裝置響應雲端指令的結果訊息。
    • /thing/list/found網關上報發現子裝置訊息。
    • /thing/topo/lifecycle裝置拓撲關係變更訊息。
    • /thing/event/property/history/post裝置歷史屬性上報訊息。
    • /thing/event/${tsl.event.identifier}/history/post裝置歷史事件上報訊息,${}中是產品物模型中事件identifier。
    • /ota/upgrade裝置OTA升級狀態通知訊息。
    • /ota/version/post裝置OTA模組版本號碼上報訊息。
    • /thing/deviceinfo/update裝置標籤變更訊息。
    • /edge/driver/${driver_id}/point_post物聯網邊緣計算的透傳模式Topic訊息,${}中是物聯網邊緣計算的裝置接入驅動ID。

      OTA升級批次狀態通知Topic也屬於基礎通訊Topic,ShortTopic格式為:${packageId}/${jobId}/ota/job/status。其中,${packageId}是升級包ID,${jobId}是升級批次ID。

  • 自訂Topic的ShortTopic,如:${deviceName}/user/get

    調用QueryProductTopic介面,可以查看產品下的所有自訂Topic類。

    指定自訂Topic時,可以使用萬用字元+#

    • ${deviceName}可以使用萬用字元+代替,表示產品下所有裝置;
    • 之後欄位可以用/user/##表示/user層級之後的所有層級名稱。

      使用萬用字元,請參見Topic類中的萬用字元

  • 裝置狀態變化通知Topic的ShortTopic:${deviceName}

    可以直接使用萬用字元+,表示產品下所有裝置的狀態變化通知。

Where String Temperature>35

規則的觸發條件。具體內容參照SQL運算式

說明 此處傳入的是WHERE中的內容。例如,如果WHERE語句為WHERE a>10,則此處傳入a>10
ProductKey String aladaeW****

應用該規則的產品ProductKey

Name String test_2

規則名稱。支援中文、英文字母、日文、數字、底線(_)和短劃線(-),長度為1~30個字元,一個中文或日文佔2個字元。

RuleDesc String test

規則的描述資訊。長度限制為100個字元,一個中文字元計為1個字元。

TopicType Integer 1
  • 0ShortTopic參數描述中的基礎通訊Topic或物模型通訊Topic,包含OTA升級批次狀態通知Topic。
  • 1:自訂Topic。
  • 2:裝置狀態變化通知Topic:/as/mqtt/status/${productKey}/${deviceName}
Topic String /sys/g18l***/device1/thing/event/property/post

待修改規則的完整Topic。

如果傳入此參數,無需再傳入參數ProductKeyShortTopicTopicType

調用API時,除了本文介紹的該API的特有請求參數,還需傳入公用請求參數。公用請求參數說明,請參見公用參數文檔

返回資料

名稱 類型 樣本值 描述
Code String iot.system.SystemException

調用失敗時,返回的錯誤碼。更多資訊,請參見錯誤碼

ErrorMessage String 系統異常

調用失敗時,返回的出錯資訊。

RequestId String 9A2F243E-17FE-4846-BAB5-D02A25155AC4

阿里雲為該請求產生的唯一識別碼。

Success Boolean true

是否調用成功。

  • true:調用成功。
  • false:調用失敗。

樣本

請求樣本

https://iot.cn-shanghai.aliyuncs.com/?Action=UpdateRule
&RuleId=100000
&Name=test_2
&ProductKey=aladaeW****
&ShortTopic=+/thing/event/property/post
&Select=deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature
&RuleDesc=test
&Where=a>10
&TopicType=1
&<公用請求參數>

正常返回樣本

XML格式

<UpdateRuleResponse>
      <RequestId>9A2F243E-17FE-4874-QBB5-D02A25155AC8</RequestId>
      <Success>true</Success>
</UpdateRuleResponse>

JSON格式

{
    "RequestId":"9A2F243E-17FE-4846-BAB5-D02A25155AC4",
    "Success":true
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。