Batch Create Alerts¶
批量创建告警记录,一次最多插入 1000 条。
请求格式¶
POST https://{apigw-address}/alert-service/v2.1/alerts?action=batchCreate
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织 ID。如何获取 orgId 信息>> |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
alertVoList |
必选 |
AlertVo 结构体数组 |
告警记录的信息。有关 AlertVo 结构体的定义,参见 AlertVo 结构体>> |
AlertVo 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
eventType |
必需 |
Integer |
其中,在 Create Alert 接口中,只允许填 2、3、4。 |
orgId |
可选 |
String |
资产所属的组织 ID。 |
instanceId |
必需 |
String |
告警的实体,现阶段只有 asset,取值为 assetId。 |
metricId |
必需 |
String |
原始度量数据的 ID。 |
occurTime |
必需 |
Long |
告警发生的时间,以 UTC 时间表示,格式见 UTC 采用的 ISO8601 标准时间格式>> |
localOccurTime |
可选 |
String |
告警发生的时间,以本地时间表示,格式见 localtime 采用的日期时间格式>> |
recoverTime |
|
Long |
触发告警的异常状况恢复正常的时间,以 UTC 时间表示,格式见 UTC 采用的 ISO8601 标准时间格式>> |
localRecoverTime |
可选 |
String |
触发告警的异常状况恢复正常的时间,以本地时间表示,格式见 localtime 采用的日期时间格式>> |
recoverReason |
可选 |
String |
异常状况恢复的原因。 |
value |
必需 |
String |
告警产生时的 metric value,对于高级的告警功能比如多测点告警或者时序告警,使用产生告警对应的那个 metric 的 value。 |
metricTags |
可选 |
Map |
原始度量数据的标签。Key 和 Value 为 String。标签的作用与表示方法>>
|
severityId |
可选 |
String |
告警级别编号。 |
severityDesc |
可选 |
StringI18n |
告警级别描述。结构参见 国际化名称结构体。 |
typeId |
可选 |
String |
告警类型编号。 |
typeDesc |
可选 |
StringI18n |
告警类型描述。结构参见 国际化名称结构体。 |
parentTypeId |
可选 |
String |
告警父类型编号。 |
parentTypeDesc |
可选 |
StringI18n |
告警父类型描述。结构参见 国际化名称结构体。 |
content |
可选 |
StringI18n |
告警内容。结构参见 国际化名称结构体。 |
ruleId |
可选 |
String |
告警规则编号。 |
ruleDesc |
可选 |
StringI18n |
告警规则描述。结构参见 国际化名称结构体。 |
ruleTags |
可选 |
Map |
规则上的标签。 |
tags |
可选 |
Map |
标签,只支持全量更新。标签的作用与表示方法>> |
inhibited |
可选 |
Boolean |
|
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
EnosBatchEachData 结构体数组 |
成功或失败消息列表。有关 EnosBatchEachData 结构体的定义,参见 EnosBatchEachData 结构体>> |
successSize |
Integer |
成功数。 |
totalSize |
Integer |
总数。 |
EnosBatchEachData 结构体 ¶
名称 |
数据类型 |
描述 |
---|---|---|
code |
Integer |
|
msg |
String |
提示格式正确还是错误。 |
data |
String |
若创建成功,则为 |
示例¶
请求示例¶
url: POST https://{apigw-address}/alert-service/v2.1/alerts?action=batchCreate&orgId=yourOrgId
method: POST
requestBody:
{
"alertVoList":[
{
"eventType":3,
"instanceId":"deviceId_37233",
"metricId":"pointId_772",
"occurTime":1547824973674,
"localOccurTime":"2018-01-01 01:01:01",
"recoverTime":1547824973674,
"localRecoverTime":"2018-02-02 00:00:00",
"recoverReason":"rpc",
"value":"5",
"metricTags":{
"modelId":"modelId_11",
"modelIdPath":"path"
},
"severityId":"42j",
"severityDesc":{
"i18nValue":{
"en_US":"wow",
"zh_CN":""
}
},
"typeId":"11d",
"typeDesc":{
"i18nValue":{
"en_US":"wow",
"zh_CN":""
}
},
"parentTypeId":"d1",
"parentTypeDesc":{
"i18nValue":{
"en_US":"wow",
"zh_CN":""
}
},
"content":{
"i18nValue":{
"en_US":"wow",
"zh_CN":""
}
},
"ruleId":"5v7",
"ruleDesc":{
"i18nValue":{
"en_US":"wow",
"zh_CN":""
}
},
"ruleTags":{
"color":"red",
"category":"note"
},
"tags":{
"de":"haha"
},
"inhibited":false
},
{
"eventType":3,
"instanceId":"deviceId_37233",
"metricId":"pointId_772",
"occurTime":1547824973674,
"localOccurTime":"2018-01-01 01:01:01",
"recoverTime":1547824973674,
"localRecoverTime":"2018-02-02 00:00:00",
"recoverReason":"rpc",
"value":"5",
"metricTags":{
"modelId":"modelId_11",
"modelIdPath":"path"
},
"severityId":"42j",
"severityDesc":{
"i18nValue":{
"en_US":"wow",
"zh_CN":""
}
},
"typeId":"11d",
"typeDesc":{
"i18nValue":{
"en_US":"wow",
"zh_CN":""
}
},
"parentTypeId":"d1",
"parentTypeDesc":{
"i18nValue":{
"en_US":"wow",
"zh_CN":""
}
},
"content":{
"i18nValue":{
"en_US":"wow",
"zh_CN":""
}
},
"ruleId":"5v7",
"ruleDesc":{
"i18nValue":{
"en_US":"wow",
"zh_CN":""
}
},
"ruleTags":{
"color":"red",
"category":"note"
},
"tags":{
"de":"haha"
},
"inhibited":false
}
]
}
返回示例¶
{
"code":0,
"msg":"OK",
"requestId":"829db237-c850-4c58-a692-64ebe2105309",
"data":[
{
"code":0,
"msg":"format right",
"data":"2020101011ee0917bcd4f740decfaba8f27613c5"
},
{
"code":0,
"msg":"format right",
"data":"2020101011ee0917bcd4f740decfaba8f27613c5"
}
],
"successSize":2,
"totalSize":2
}
Java SDK 调用示例¶
public void testBatchCreateAlerts(){
String accessKey = "yourAppAccessKey";
String secretKey = "yourAppSecretKey";
BatchCreateAlertsRequest request = new BatchCreateAlertsRequest();
request.setOrgId("yourOrgId");
List<AlertVo> alertVoList = new ArrayList<>();
alertVoList.add(buildAlert());
alertVoList.add(buildAlert());
request.setAlertVoList(alertVoList);
try {
BatchCreateAlertsResponse response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
.url("https://{apigw-address}")
.getResponse(request, BatchCreateAlertsResponse.class);
Gson gson = new Gson();
System.out.println(gson.toJson(response));
}catch(Exception e){
System.out.print(e);
}
}