
# 查询规则条件列表
#### 功能介绍
应用服务器可调用此接口查询设施云平台中设置的规则条件列表。
#### URI
GET /v1/iotfm/routing-rules
表1Query参数 
| 参数        | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| limit     | 否    | Integer | **参数说明**：分页查询时每页显示的记录数。 **取值范围**：默认值为10，取值范围为1-50的整数。                                                                                                                                                                                              |
| marker    | 否    | String  | **参数说明**：上一次分页查询结果中最后一条记录的ID，在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的，越新的数据记录ID也会越大。若填写marker，则本次只查询记录ID小于marker的数据记录。若不填写，则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据，则每次查询时必须填写上一次查询响应中的marker值。 **取值范围**：长度固定24，只允许大小写字母、数组的组合。              |
| offset    | 否    | Integer | **参数说明**：表示从marker后偏移offset条记录开始查询。当offset为0时，表示从marker后第一条记录开始输出。限制offset最大值是出于API性能考虑，您可以搭配marker使用该参数实现翻页，例如每页50条记录，1-11页内都可以直接使用offset跳转到指定页，但到11页后，由于offset限制为500，您需要使用第11页返回的marker作为下次查询的marker，以实现翻页到12-22页。 **取值范围**：默认为0，取值范围为0-500的整数。 |
| rule_name | 否    | String  | **参数说明**：用户自定义的规则名称                                                                                                                                                                                                                                                                       |
   
#### 请求参数
表2请求Header参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                              |
|:---|:---|:---|:---|
| X-Auth-Token  | 是    | String | **参数说明** ：用户Token。通过调用 [生成Token](https://support.huaweicloud.com/api-ocsmartcampus/ocsmartcampus_06_0008.html) 接口获取，接口返回的响应消息头中"X-Subject-Token"就是需要获取的用户Token。 |
| X-Instance-Id | 是    | String | **参数说明**：实例ID。通过访问智能设施云平台界面后获取，智能设施云平台资源均为实例级隔离，所有业务接口必须填写正确的实例ID才能被成功调用。 **取值范围**：长度8-36，只允许大小写字母、数字和-字符的组合。           |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数    | 参数类型                                                                                        | 描述                                      |
|:---|:---|:---|
| rules | Array of [Rule] objects | 规则条件信息列表。                               |
| page  | [Page] object           | 查询批量分页结构体，定义了分页页码、每页记录数、记录总数、该页记录的最大ID。 |
   
 表4Rule 
| 参数          | 参数类型                                                                                              | 描述                                          |
|:---|:---|:---|
| rule_id     | String                                                                                            | 规则触发条件ID，用于唯一标识一个规则触发条件，在创建规则条件时由设施云平台分配获得。 |
| rule_name   | String                                                                                            | 用户自定义的规则名称。                                 |
| description | String                                                                                            | 用户自定义的规则描述。                                 |
| subjects    | Array of [Subject] objects | 资源事件信息列表。                                   |
| active      | Boolean                                                                                           | 规则条件的状态是否为激活。                               |
   
 表5Subject 
| 参数       | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| resource | String | 资源名称。 - device: 设备。   - zone：空间。   - product：产品。   - device.property：设备属性。   - device.status：设备状态。   - device.alarm：设备告警。   - ai.datahouse.model：AI模型。   - device.event：设备事件                                                                                                                                                                                                                                                                                                                                                                           |
| event    | String | 资源事件，取值范围：与资源有关，不同的资源，事件不同 event需要与resource关联使用，具体的"resource:event"映射关系如下： - device:change（设备信息变更）   - zone:change（空间信息变更）   - product:change（产品信息变更）   - device.status:update （设备状态变更）   - device.property:report（设备属性上报）   - device.alarm:active（设备告警生成）   - device.alarm:recovery（设备告警恢复）   - ai.datahouse.model:predict（AI模型推理）   - device.event:report（设备事件上报）    |
   
 表6Page 
| 参数     | 参数类型   | 描述                                                                                                  |
|:---|:---|:---|
| count  | Long   | **参数说明**：本次分页查询结果中，获取的记录总数。                                                                         |
| marker | String | **参数说明**：本次分页查询结果中最后一条记录的ID，可在下一次分页查询时使用。 **取值范围**：长度0-64。 |
   
#### 请求示例
查询规则条件列表
```
GET https://{endpoint}/v1/iotfm/routing-rules
{
  "marker" : "ffffffffffffffffffffffff",
  "limit" : 50,
  "offset" : 0
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "rules" : [ {
    "rule_id" : "5bcaddda-75bf-4623-8c8d-26175c41fcca",
    "rule_name" : "rulename",
    "description" : "description",
    "subjects" : [ {
      "resource" : "device",
      "event" : "create"
    } ],
    "active" : true
  }, {
    "rule_id" : "9cbcb83e-1836-48e8-8e40-d37e836f8767",
    "rule_name" : "rulename",
    "description" : "description",
    "subjects" : [ {
      "resource" : "device",
      "event" : "create"
    } ],
    "active" : false
  } ],
  "page" : {
    "count" : 2,
    "marker" : "189b454a94899b967fbd8d1c"
  }
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 403 | Forbidden             |
| 404 | Not Found             |
| 500 | Internal Server Error |
   
