
# 查询告警列表
#### 功能介绍
应用服务器可调用此接口在设施云平台查询告警列表。
#### URI
POST /v1/iotfm/alarms/list
#### 请求参数
表1请求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，只允许大小写字母、数字和-字符的组合。           |
| X-Root-Zone-Id | 否    | String | **参数说明**：项目ID。 **取值范围**：长度不超过24，只允许字母、数字的组合。                                                                          |
   
表2请求Body参数 
| 参数                 | 是否必选 | 参数类型                                                                                       | 描述                                                                                                                               |
|:---|:---|:---|:---|
| alarm_levels       | 否    | Array of strings                                                                           | **参数说明**：告警等级列表。 **取值范围**：当前支持枚举值：Critical、 Major、Minor、Info。                          |
| alarm_statuses     | 否    | Array of strings                                                                           | **参数说明**：告警状态列表。 **取值范围**：当前支持枚举值：CREATED、CLOSED。                                          |
| device_id          | 否    | String                                                                                     | **参数说明**：设备ID，用于唯一标识一个设备，在注册设备时由设施云平台分配获得。 **取值范围**：长度不超过128，只允许字母、数字、下划线（_）、连接符（-）的组合。 |
| device_name        | 否    | String                                                                                     | **参数说明**：设备名称。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_?'#().,\&%@!-字符的组合。                      |
| alarm_source_types | 否    | Array of strings                                                                           | **参数说明**：告警来源类型。                                                                                                                 |
| product_name       | 否    | String                                                                                     | **参数说明**：产品名称。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_-字符的组合。                                   |
| product_ids        | 否    | Array of strings                                                                           | 产品ID列表                                                                                                                           |
| alarm_name         | 否    | String                                                                                     | **参数说明**：告警名称。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_-字符的组合。                                  |
| start_time         | 否    | String                                                                                     | **参数说明**：开始时间。 **取值范围**："yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。                                |
| end_time           | 否    | String                                                                                     | **参数说明**：结束时间。 **取值范围**："yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。                                  |
| zone_id            | 否    | String                                                                                     | **参数说明**：区域ID， 设备所在的区域ID。 **取值范围**：长度不超过24，只允许字母、数字的组合。                                  |
| is_freq_alarm      | 否    | Boolean                                                                                    | **参数说明**：是否过滤出高频告警。                                                                                                              |
| is_show_detail     | 否    | Boolean                                                                                    | **参数说明**：是否返回告警详细信息， false-不返回alarm_properties字段，如您无需这些信息，建议优选false。                     |
| page               | 否    | [PageQuery] object | **参数说明**：分页参数。                                                                                                                   |
   
 表3PageQuery 
| 参数     | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| limit  | 否    | Integer | **参数说明**：满足查询条件的记录总数 **取值范围**：1-200的整数。                                                                                                                                                                                                                                                                      |
| marker | 否    | String  | **参数说明**：本次只查询记录ID小于marker的数据记录。 **取值范围**：长度不超过24，只允许字母、数字的组合。                                                                                                                                                                                                                                             |
| offset | 否    | Integer | **参数说明**：取值小于500时，表示从marker后偏移offset条记录开始查询。默认为0，取值范围为0-500的整数。当offset为0时，表示从marker后第一条记录开始输出。限制offset最大值是出于API性能考虑，您可以搭配marker使用该参数实现翻页，例如每页50条记录，1-11页内都可以直接使用offset跳转到指定页，但到11页后，由于offset限制为500，您需要使用第11页返回的marker作为下次查询的marker，以实现翻页到12-22页。取值大于500时，marker不生效，表示从头偏移offset条记录开始查询。 **取值范围**：0-500的整数。 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数     | 参数类型                                                                                                              | 描述                  |
|:---|:---|:---|
| alarms | Array of [ListAlarmPerRsp] objects | **参数说明**：告警列表。      |
| page   | [PageResponse] object                 | **参数说明**：查询结果的分页信息。 |
   
 表5ListAlarmPerRsp 
| 参数                | 参数类型                                                                                                    | 描述                                                                                                                                                                                                       |
|:---|:---|:---|
| alarm_id          | String                                                                                                  | **参数说明**：告警ID。 **取值范围**：字符串。                                                                                                                                     |
| alarm_name        | String                                                                                                  | **参数说明**：告警名称。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_-字符的组合。                                                                                                           |
| alarm_level       | String                                                                                                  | **取值范围**：告警等级。 **取值范围**：当前支持枚举值： "Critical", "Major", "Minor", "Info" 致命、严重、一般、提示 |
| alarm_status      | String                                                                                                  | **参数说明**：告警状态。 **取值范围**：当前支持枚举值：CREATED、CLOSED。                                                                                                                  |
| alarm_source_type | String                                                                                                  | **参数说明**：告警来源类型。 **取值范围**：当前支持枚举值：linkageRule、diagnosisRule。                                                                                                      |
| description       | String                                                                                                  | **参数说明**：告警描述。 **取值范围**：字符串。                                                                                                                                    |
| device_id         | String                                                                                                  | **参数说明**：设备ID，用于唯一标识一个设备，在注册设备时由设施云平台分配获得。 **取值范围**：长度不超过128，只允许字母、数字、下划线（_）、连接符（-）的组合。                                                                           |
| device_name       | String                                                                                                  | **参数说明**：设备名称。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_-字符的组合。                                                                                                          |
| zone_id           | String                                                                                                  | **参数说明**：区域ID， 某产品对应的所有设备所在的区域ID。 **取值范围**：长度不超过24，只允许字母、数字的组合。                                                                                                |
| zone_name         | String                                                                                                  | **参数说明**：zone_id对应的区域名称。 **取值范围**：字符串。                                                                                                                           |
| active_time       | String                                                                                                  | **参数说明**：发生时间。 **取值范围**："yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。                                                                                                           |
| recovery_time     | String                                                                                                  | **参数说明**：恢复时间。 **取值范围**："yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。                                                                                                          |
| alarm_properties  | [AlarmProperties] object | -                                                                                                                                                                                                        |
   
 表6AlarmProperties 
| 参数                  | 参数类型                                                                                                                      | 描述               |
|:---|:---|:---|
| active_properties   | Array of [ActivePerProperty] objects     | **参数说明**：触发告警信息。 |
| recovery_properties | Array of [RecoveryPerProperty] objects | **参数说明**：告警状态。   |
   
 表7ActivePerProperty 
| 参数                      | 参数类型                                                                                        | 描述                                                                                                                                                                                                              |
|:---|:---|:---|
| device_id               | String                                                                                      | **参数说明**：设备ID，用于唯一标识一个设备，在注册设备时由设施云平台分配获得。当rule_type为 DEVICE_ALARM 时，product_id及device_id不能同时为空。优先device_id，其次 product_id。 **取值范围**：长度不超过128，只允许字母、数字、下划线（_）、连接符（-）的组合。 |
| device_name             | String                                                                                      | **参数说明**：设备名称，用于唯一标识一个设备，在注册设备时由设施云平台分配获得。                                                                                                                                                                      |
| service_id              | String                                                                                      | **参数说明**：服务ID。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_?'#().,\&%@!-字符的组合。                                                                                                      |
| property_code           | String                                                                                      | **参数说明**：属性编码。                                                                                                                                                                                                  |
| property_name           | String                                                                                      | **参数说明**：属性名称。 **取值范围**：允许中文、字母、数字、以及_?'#().,\&%@!-$字符的组合。                                                                                                               |
| property_indicator_type | String                                                                                      | **参数说明**：属性指标类型 **取值范围**：origin-原始值;mean-均值;max-最大值;min-最小值;sum-求和值;variance-方差值。                                                                                      |
| property_value          | Object                                                                                      | **参数说明**：属性值。 **取值范围**：由设备上报决定。                                                                                                                                        |
| condition               | [condition] object | **参数说明**：触发条件。                                                                                                                                                                                                  |
| trigger_time            | String                                                                                      | **参数说明**：触发时间。 **取值范围**："yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。                                                                                                                |
   
 表8condition 
| 参数             | 参数类型             | 描述                                                                                                  |
|:---|:---|:---|
| values         | Array of strings | **参数说明**：告警上报。                                                                                      |
| operator       | String           | **参数说明**：告警条件。 **取值范围**：允许中文、字母、数字、以及_?'#().,\&%@!-$字符的组合。 |
| property_value | Object           | **参数说明**：满足条件阈值                                                                                     |
   
 表9RecoveryPerProperty 
| 参数                      | 参数类型                                                                                        | 描述                                                                                                                                                                                                              |
|:---|:---|:---|
| device_id               | String                                                                                      | **参数说明**：设备ID，用于唯一标识一个设备，在注册设备时由设施云平台分配获得。当rule_type为 DEVICE_ALARM 时，product_id及device_id不能同时为空。优先device_id，其次 product_id。 **取值范围**：长度不超过128，只允许字母、数字、下划线（_）、连接符（-）的组合。 |
| device_name             | String                                                                                      | **参数说明**：设备名称，用于唯一标识一个设备，在注册设备时由设施云平台分配获得。                                                                                                                                                                      |
| service_id              | String                                                                                      | **参数说明**：服务ID。 **取值范围**：长度不超过64，只允许中文、字母、数字、以及_?'#().,\&%@!-字符的组合。                                                                                                     |
| property_code           | String                                                                                      | **参数说明**：属性编码。                                                                                                                                                                                                  |
| property_name           | String                                                                                      | **参数说明**：属性名称。 **取值范围**：允许中文、字母、数字、以及_?'#().,\&%@!-$字符的组合。                                                                                                                |
| property_indicator_type | String                                                                                      | **参数说明**：属性指标类型 **取值范围**：origin-原始值;mean-均值;max-最大值;min-最小值;sum-求和值;variance-方差值。                                                                                      |
| property_value          | Object                                                                                      | **参数说明**：属性值。 **取值范围**：由设备上报决定。                                                                                                                                         |
| condition               | [condition] object | **参数说明**：触发条件。                                                                                                                                                                                                  |
| recovery_time           | String                                                                                      | **参数说明**：恢复时间。 **取值范围**："yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"。                                                                                                                   |
   
表10condition 
| 参数             | 参数类型             | 描述                                                                                                   |
|:---|:---|:---|
| values         | Array of strings | **参数说明**：告警上报。                                                                                       |
| operator       | String           | **参数说明**：告警条件。 **取值范围**：允许中文、字母、数字、以及_?'#().,\&%@!-$字符的组合。 |
| property_value | Object           | **参数说明**：满足条件阈值                                                                                      |
   
 表11PageResponse 
| 参数     | 参数类型   | 描述                                        |
|:---|:---|:---|
| marker | String | **参数说明**：本次分页查询结果中最后一条记录的ID，可在下一次分页查询时使用。 |
   
**状态码：400**
表12响应Body参数 
| 参数         | 参数类型   | 描述                                                                        |
|:---|:---|:---|
| error_code | String | **参数说明**：错误码。 **取值范围**：长度8-36。  |
| error_msg  | String | **参数说明**：错误描述。 **取值范围**：长度2-512。 |
   
#### 请求示例
查询告警列表
```
POST https://{endpoint}/v1/iotfm/alarms/list
{
  "zone_id" : "18c6694e77b7a9a100a6abe7",
  "alarm_levels" : [ "Major" ],
  "page" : {
    "offset" : 0,
    "marker" : "ffffffffffffffffffffffff",
    "limit" : 10
  }
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "alarms" : [ {
    "alarm_id" : "18c66954ad8d0c9e250f0e4c",
    "alarm_name" : "电池电量不足_NRT",
    "alarm_level" : "Major",
    "alarm_status" : "CREATED",
    "description" : "description",
    "device_id" : "18c6695174bd0c9e250f0de1",
    "device_name" : "deviceName",
    "zone_id" : "18c6694e77b7a9a100a6abe7",
    "zone_name" : "zone_name",
    "active_time" : "2023-12-14T04:28:25.638Z",
    "alarm_properties" : {
      "active_properties" : [ {
        "service_id" : "Temperature",
        "property_code" : "Humidity",
        "property_name" : "湿度",
        "trigger_time" : "2024-02-05T12:42:02.770Z",
        "property_value" : 12.1,
        "condition" : {
          "values" : [ 20 ],
          "operator" : ">",
          "property_value" : 12.1
        }
      } ],
      "recovery_properties" : [ {
        "serviceId" : "InfoService",
        "property_code" : "Humidity",
        "property_name" : "湿度",
        "trigger_time" : "2024-02-05T12:42:02.770Z",
        "value" : 2,
        "condition" : {
          "values" : [ 20 ],
          "operator" : ">",
          "property_value" : 12.1
        }
      } ]
    }
  } ],
  "page" : {
    "marker" : "18c66954ad8d0c9e250f0e4c"
  }
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 400 | Bad Request           |
| 403 | Forbidden             |
| 404 | Not Found             |
| 500 | Internal Server Error |
   
