调用该接口修改指定的规则。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String UpdateRule

系统规定参数。取值:UpdateRule。

RuleId Long 100000

要修改的规则ID。可在物联网平台控制台规则引擎>云产品流转页查看规则ID,或调用ListRule从返回结果中查看。

IotInstanceId String iot_instc_pu****_c*-v64********

共享实例不传此参数;仅独享实例需传入实例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是自定义类目。

调用QueryDevice接口,查看产品下的所有设备。返回结果中包含所有的DeviceName

调用QueryProductTopic接口,查看产品下的所有Topic类。返回结果中包含所有的TopicShortName

示例:

  • 系统Topic的ShortTopic,如:${deviceName}/thing/event/property/post,其中${deviceName}可以使用通配符+代替,表示产品下所有设备名称。
  • 自定义Topic的ShortTopic,如:${deviceName}/user/get

    指定自定义Topic时,可以使用通配符+#

    • ${deviceName}可以使用通配符+代替,表示产品下所有设备。
    • 之后字段可以用/user/##表示/user层级之后的所有层级名称。

      使用通配符,请参见Topic类中的通配符

  • 设备状态Topic的ShortTopic:${deviceName}
Where String Temperature>35

规则的触发条件。具体内容参照SQL表达式

说明 此处传入的是Where中的内容。例如,如果Where语句为Where a>10,则此处传入a>10
ProductKey String aladaeW****

应用该规则的产品Key。

Name String test_2

规则名称。支持使用中英文字符、数字和下划线(_),长度应为4~30位(一个中文字符算2位)。

RuleDesc String test

规则的描述信息。长度限制为100字符(一个汉字占一个字符)。

TopicType Integer 1
  • 0:系统Topic,包含:
    • /thing/event/property/post 设备上报的属性消息。
    • /thing/event/${tsl.event.identifier}/post${}中的是产品物模型中事件identifier。设备上报的事件消息
    • thing/lifecycle 设备生命周期变更消息。
    • /thing/downlink/reply/message设备响应云端指令的结果消息。
    • /thing/list/found网关上报发现子设备消息。
    • thing/topo/lifecycle设备拓扑关系变更消息。
  • 1:自定义Topic。
  • 2:设备状态消息Topic:/as/mqtt/status/${productKey}/${deviceName}

调用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
}