Create Alert Rule¶
创建一条告警规则。
约束条件¶
- 模型 ID( - modelId)在组织下可用
- 测点( - measurepointId)有效
- 告警级别( - severityId)已创建
- 告警内容( - contentId)已创建
- 查询范围( - scope)中的作用域的节点已创建
请求格式¶
POST https://{apigw-address}/event-service/v2.1/alert-rules?action=create
请求参数(URI)¶
| 名称 | 位置(Path/Query) | 必需/可选 | 数据类型 | 描述 | 
|---|---|---|---|---|
| orgId | Query | 必需 | String | 资产所属的组织 ID。如何获取 orgId 信息>> | 
请求参数(Body)¶
备注
以下非必须字段中,必须提供 measurepointId 或 deviceStatus 作为告警触发条件。
| 名称 | 必需/可选 | 数据类型 | 描述 | 
|---|---|---|---|
| ruleId | 必需 | String | 告警规则编号,由用户指定。 | 
| ruleDesc | 必需 | StringI18n | 告警描述。 | 
| modelId | 必需 | String | 告警规则适用的模型。 | 
| measurepointId | 可选 | String | 资产测点。如何获取测点(pointId)信息>> | 
| deviceStatus | 可选 | String | 设备状态,如“offline”。参见 设置由设备状态触发的告警。 | 
| condition | 必需 | String | 类查询表达式。如“${temperature} = 19”表示“测点 temperature 的值等于19”。使用“/”表达层级关系,如“${pointA/att1} = 18”表示“测点 A 的 att1 属性值为 18”。目前只支持最多向下一层。如何使用查询表达式>> | 
| severityId | 必需 | String | 告警级别编号。 | 
| contentId | 必需 | String | 告警内容编号。 | 
| tags | 可选 | Map | 告警规则标签。 | 
| isEnabled | 可选 | Boolean | 是否启用,默认启用(true)。 | 
| isRoot | 可选 | Boolean | 是否是根源告警,默认为 false。 | 
| scope | 必需 | AssetNode 结构体数组 | 指定资产树上的节点来表明告警规则的作用域。参见 AssetNode 结构体。 | 
| triggeringDelayTimer | 可选 | Integer | 延后告警触发时间。单位为秒,范围[60 - 10800]。当发生匹配告警规则的异常状况,且该状况在所设定的时间内仍未恢复正常时,系统才会产生告警。若设为 0 则表示立即触发告警。参见 教程:设置异常持续一段时间后触发的告警。 | 
AssetNode 结构体 
| 名称 | 必需/可选 | 数据类型 | 描述 | 
|---|---|---|---|
| treeId | 必需 | String | 资产树 ID。若为“all”,则这是一个特殊的节点,代表组织下的全局。 | 
| assetId | 必需 | String | 资产 ID。如何获取 asset ID 信息>> | 
响应参数¶
| 名称 | 数据类型 | 描述 | 
|---|---|---|
| data | String | 规则的 ID。 | 
示例¶
请求示例¶
url: https://{apigw-address}/event-service/v2.1/alert-rules?action=create&orgId=yourOrgId
method: POST
requestBody:
{
    "ruleId": "user BID",
    "ruleDesc": {
        "defaultValue": "Grid is connected from converter",
        "i18nValue": {
            "en_US": "Grid is connected from converter",
            "zh_CN": "电网由变频器连接"
        }
    },
    "modelId": "EnOS_Solar_CombinerBox",
    "measurepointId": "CBX.BranchStateAttr",
    "condition": "${CBX.BranchStateAttr} = 18",
    "severityId": "WARN",
    "contentId": "planetTemperature",
    "tags": {
        "key1": "v1"
    },
    "scope": [{
        "treeId": "ptde66nd",
        "assetId": "FbFy8qyz"
    }],
    "isEnabled": true,
    "isRoot": true,
    "triggeringDelayTimer": 120
}
返回示例¶
{
    "code": 0,
    "msg": "OK",
    "requestId": "4873095e-621d-4cfd-bc2c-edb520f574ea",
  "data": "user BID"
}