查询规则
功能介绍
应用服务器可调用此接口查询物联网平台中指定规则的配置信息。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
GET /v5/iot/{project_id}/rules/{rule_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数说明:项目ID。获取方法请参见 获取项目ID。 |
rule_id |
是 |
String |
参数说明:规则ID,用于唯一标识一条规则,在创建规则时由物联网平台分配获得。 取值范围:长度不超过32,只允许字母、数字的组合。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
否 |
String |
参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 |
Instance-Id |
否 |
String |
参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考 查看实例详情。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
rule_id |
String |
规则id。 |
name |
String |
规则名称。 |
description |
String |
规则的描述信息。 |
condition_group |
ConditionGroup object |
规则的条件组,包含简单规则和复杂规则集合。 |
actions |
Array of RuleAction objects |
规则的动作列表,单个规则最多支持设置10个动作。 |
rule_type |
String |
规则的类型
|
status |
String |
规则的状态,默认值:active。
|
app_id |
String |
资源空间ID。此参数为非必选参数,存在多资源空间的用户需要使用该接口时,建议携带该参数指定创建的规则归属到哪个资源空间下,否则创建的规则将会归属到默认资源空间下。 |
edge_node_ids |
Array of strings |
归属边缘侧节点设备ID列表。 |
last_update_time |
String |
规则最后更新时间,使用UTC时区,格式:yyyyMMdd'T'HHmmss'Z'。 |
device_side |
DeviceSide object |
参数说明:端侧执行下发设备信息,当规则类型为DEVICE_SIDE时,该参数必填。 |
参数 |
参数类型 |
描述 |
---|---|---|
conditions |
Array of RuleCondition objects |
参数说明:规则的条件列表,单个规则最多支持设置10个条件。 |
logic |
String |
参数说明:规则条件列表中多个条件之间的逻辑关系,默认值:and。 取值范围:
|
time_range |
TimeRange object |
参数说明:规则条件触发的有效时间段。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
参数说明:规则条件的类型。 取值范围:
|
device_property_condition |
DeviceDataCondition object |
参数说明:条件中设备数据类型的信息,当type为DEVICE_DATA时,为必选参数。 |
simple_timer_condition |
SimpleTimerType object |
参数说明:条件中简单定时类型的信息,当type为SIMPLE_TIMER时,为必选参数。 |
daily_timer_condition |
DailyTimerType object |
参数说明:条件中每日定时类型的信息,当type为DAILY_TIMER时,为必选参数。 |
device_linkage_status_condition |
DeviceLinkageStatusCondition object |
参数说明:条件中设备状态类型的信息,当规则类型为DEVICE_LINKAGE且type为DEVICE_LINKAGE_STATUS时,为必选参数。 |
参数 |
参数类型 |
描述 |
---|---|---|
device_id |
String |
参数说明:设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。存在该参数时设备属性触发根据指定设备触发,该参数值和product_id不能同时为空。如果该参数和product_id同时存在时,以该参数值对应的设备进行条件过滤。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
product_id |
String |
参数说明:设备关联的产品ID,用于唯一标识一个产品模型,创建产品后获得。方法请参见 创建产品。存在该参数且device_id为空时设备属性触发匹配该产品下所有设备触发,该参数值和device_id不能同时为空。 |
filters |
Array of PropertyFilter objects |
数据过滤条件。 |
参数 |
参数类型 |
描述 |
---|---|---|
path |
String |
参数说明:设备属性的路径信息,格式:service_id/DataProperty,例如门磁状态为“DoorWindow/status”。 |
operator |
String |
参数说明:数据比较的操作符。 取值范围:当前支持的操作符有:>,<,>=,<=,=,in:表示在指定值中匹配和between:表示数值区间。 |
value |
String |
参数说明:数据比较表达式的右值。与数据比较操作符between联用时,右值表示最小值和最大值,用逗号隔开,如“20,30”表示大于等于20小于30。 |
in_values |
Array of strings |
参数说明:当operator为in时该字段必填,使用该字段传递比较表达式右值,上限为20个。 |
strategy |
Strategy object |
参数说明:规则条件的处理策略,用于确定规则是否判断上次数据是否满足条件。当rule_type为DEVICE_LINKAGE时,该参数值不能为空。端侧执行不支持该字段。 |
参数 |
参数类型 |
描述 |
---|---|---|
trigger |
String |
参数说明:规则条件触发的判断策略,默认为pulse。 取值范围:
|
event_valid_time |
Integer |
参数说明:设备数据的有效时间,单位为秒,设备数据的产生时间以上报数据中的eventTime为基准。 |
参数 |
参数类型 |
描述 |
---|---|---|
start_time |
String |
参数说明:规则触发的开始时间,使用UTC时区,格式:yyyyMMdd'T'HHmmss'Z'。 |
repeat_interval |
Integer |
参数说明:规则触发的重复时间间隔,单位为秒。 |
repeat_count |
Integer |
参数说明:规则触发的重复次数。 |
参数 |
参数类型 |
描述 |
---|---|---|
time |
String |
参数说明:规则触发的时间,格式:HH:MM。 |
days_of_week |
String |
参数说明:星期列表,以逗号分隔。1代表周日,2代表周一,依次类推,默认为每天。 |
参数 |
参数类型 |
描述 |
---|---|---|
device_id |
String |
参数说明:设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。存在该参数时设备状态触发根据指定设备触发,该参数值和product_id不能同时为空。如果该参数和product_id同时存在时,以该参数值对应的设备进行条件过滤。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
product_id |
String |
参数说明:设备关联的产品ID,用于唯一标识一个产品模型,创建产品后获得。方法请参见 创建产品。存在该参数且device_id为空时设备状态触发匹配该产品下所有设备触发,该参数值和device_id不能同时为空。 |
status_list |
Array of strings |
参数说明:状态列表,设备状态条件携带该参数。 取值范围:
|
duration |
Integer |
持续时长:设备状态持续时长,取值范围: 0-60(分钟)。 |
参数 |
参数类型 |
描述 |
---|---|---|
start_time |
String |
参数说明:规则条件触发的开始时间,格式:HH:mm。 |
end_time |
String |
参数说明:规则条件触发的结束时间,格式:HH:mm。若结束时间与开始时间一致,则时间为全天。 |
days_of_week |
String |
参数说明:星期列表,以逗号分隔。1代表周日,2代表周一,依次类推,默认为每天。星期列表中的日期为开始时间的日期。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
参数说明:规则动作的类型,端侧执行只支持下发设备命令消息类型。 取值范围:
|
device_command |
ActionDeviceCommand object |
下发设备命令消息内容。当type为DEVICE_CMD时,必填。 |
smn_forwarding |
ActionSmnForwarding object |
发送给SMN消息结构。当规则类型为DEVICE_LINKAGE且type为SMN_FORWARDING时,必填。 |
device_alarm |
ActionDeviceAlarm object |
上报设备告警消息内容。当规则类型为DEVICE_LINKAGE且type为DEVICE_ALARM时,必填。 |
参数 |
参数类型 |
描述 |
---|---|---|
device_id |
String |
参数说明:下发命令的设备ID。
|
cmd |
CMD object |
参数说明:下发的命令信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
command_name |
String |
参数说明:设备命令名称,在设备关联的产品模型中定义。 |
command_body |
Object |
参数说明:设备命令参数,Json格式。 使用LWM2M协议设备命令示例:{"value":"1"},里面是一个个键值对,每个键都是产品模型中命令的参数名(paraName)。 使用MQTT协议设备命令示例:{"header": {"mode": "ACK","from": "/users/testUser","method": "SET_TEMPERATURE_READ_PERIOD","to":"/devices/{device_id}/services/{service_id}"},"body": {"value" : "1"}}。
|
service_id |
String |
参数说明:设备命令所属的设备服务ID,在设备关联的产品模型中定义。 |
buffer_timeout |
Integer |
参数说明:设备命令的缓存时间,单位为秒,表示物联网平台在把命令下发给设备前缓存命令的有效时间,超过这个时间后命令将不再下发,默认值为172800s(48小时)。 如果buffer_timeout设置为0,则无论物联网平台上设置的命令下发模式是什么,该命令都会立即下发给设备。 |
response_timeout |
Integer |
参数说明:命令响应的有效时间,单位为秒,表示设备接收到命令后,在response_timeout时间内响应有效,超过这个时间未收到命令的响应,则认为命令响应超时,默认值为1800s。 |
mode |
String |
参数说明:设备命令的下发模式,仅当buffer_timeout的值大于0时有效。
|
参数 |
参数类型 |
描述 |
---|---|---|
region_name |
String |
参数说明:SMN服务对应的region区域。 |
project_id |
String |
参数说明:SMN服务对应的projectId信息。 |
theme_name |
String |
参数说明:SMN服务对应的主题名称。 |
topic_urn |
String |
参数说明:SMN服务对应的topic的主题URN。 |
message_content |
String |
参数说明:短信或邮件的内容。 |
message_template_name |
String |
参数说明:SMN服务对应的模板名称。 |
message_title |
String |
参数说明:短信或邮件的主题。最大长度支持UTF-8编码后的521个字节。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
参数说明:告警名称。 |
alarm_status |
String |
参数说明:告警状态。 取值范围:
|
severity |
String |
参数说明:告警级别。 取值范围:warning(警告)、minor(一般)、major(严重)和critical(致命)。 |
dimension |
String |
参数说明:告警维度,与告警名称和告警级别组合起来共同标识一条告警,默认不携带该字段为用户维度告警,支持设备维度和资源空间维度告警。 取值范围:
|
description |
String |
参数说明:告警的描述信息。 |
请求示例
查询设备规则。
GET https://{endpoint}/v5/iot/{project_id}/rules/{rule_id}
响应示例
状态码: 200
OK
{ "rule_id" : "5eb3628d017d9105d0cf9aec", "name" : "openLight", "condition_group" : { "conditions" : [ { "type" : "DEVICE_DATA", "device_property_condition" : { "device_id" : "07b69d78-c716-4be6-9545-869920738397", "filters" : [ { "path" : "StreetLight/visibility", "operator" : "<", "value" : "30", "strategy" : { "trigger" : "reverse", "event_valid_time" : 300 } } ] } } ], "logic" : "and" }, "actions" : [ { "type" : "DEVICE_CMD", "device_command" : { "device_id" : "3a9e52d9-3ebf-4985-89e9-6d2396748a2f", "cmd" : { "command_name" : "SET_LIGHT_SWITCH", "command_body" : { "value" : 0 }, "service_id" : "Switch", "buffer_timeout" : 0, "response_timeout" : 1800 } } } ], "rule_type" : "DEVICE_LINKAGE", "status" : "active", "app_id" : "9562bf8541e44361b6ae3a7e9fbe1144", "last_update_time" : "20221017T025425Z" }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
错误码
请参见错误码。