更新时间:2025-08-30 GMT+08:00
分享

更新告警规则

功能介绍

更新告警规则

调用方法

请参见如何调用API

URI

PUT /v2/{project_id}/workspaces/{workspace_id}/siem/alert-rules/{alert_rule_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目ID,用于明确项目归属,配置后可通过该ID查询项目下资产,可以通过调用API获取,也可以从控制台获取。获取项目ID

约束限制:

不涉及

取值范围:

不涉及w

默认取值:

不涉及

workspace_id

String

工作空间ID

alert_rule_id

String

Alert Rule ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。获取用户Token

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

alert_rule_name

String

Alert rule name 告警规则名称

description

String

Alert rule description 告警规则描述

directory

String

directory 目录分组

script

String

Job Script 作业脚本

status

String

参数解释:

作业状态

  • ENABLED 启用

  • DISABLED 禁用

约束限制

不涉及

取值范围:

  • ENABLED

  • DISABLED

默认值

不涉及

job_mode_setting

IsapJobModeSettingDto object

作业模式设置数据传输对象

job_output_setting

IsapJobOutputSetting object

作业输出设置

environment

String

参数解释:

环境类型

  • PROD 生产环境

  • TEST 测试环境

约束限制

不涉及

取值范围:

  • PROD

  • TEST

默认值

不涉及

output_table_id

String

UUID

output_table_ids

Array of strings

output table id list

output_table_names

Array of strings

output table name list

publish_status

String

发布状态: 只适用行管租户,不对外暴露参数

表4 IsapJobModeSettingDto

参数

是否必选

参数类型

描述

batch_overtime_interval

Integer

Time

batch_overtime_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

batch_frequency_interval

Integer

Time

batch_frequency_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

streaming_state_ttl_interval

Integer

Time

streaming_state_ttl_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

streaming_checkpoint_ttl_interval

Integer

Time

streaming_checkpoint_ttl_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

streaming_startup_mode

String

参数解释:

作业启动模式

  • UPGRADE 升级启动

  • REFRESH_NEW 全新启动

约束限制

不涉及

取值范围:

  • UPGRADE

  • REFRESH_NEW

默认值

不涉及

batch_overtime_strategy_interval

Integer

Time

batch_overtime_strategy_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

search_delay_interval

Integer

Time

search_delay_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

search_frequency_interval

Integer

Time

search_frequency_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

search_overtime_interval

Integer

Time

search_overtime_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

search_period_interval

Integer

Time

search_period_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

search_table_id

String

UUID

search_table_name

String

表名称

dss_id

Integer

Time

表5 IsapJobOutputSetting

参数

是否必选

参数类型

描述

alert_custom_properties

Map<String,String>

Map<String,String>

alert_description

String

告警描述

alert_grouping

Boolean

分组标志

alert_mapping

Map<String,String>

Map<String,String>

alert_name

String

告警报名称

alert_remediation

String

告警修复建议

alert_severity

String

参数解释:

告警等级

  • TIPS 提示

  • LOW 低危

  • MEDIUM 中危

  • HIGH 高危

  • FATAL 致命

约束限制

不涉及

取值范围:

  • TIPS

  • LOW

  • MEDIUM

  • HIGH

  • FATAL

默认值

不涉及

alert_suppression

Boolean

抑制标志

alert_type

Map<String,String>

Map<String,String>

entity_extraction

Map<String,String>

Map<String,String>

field_mapping

Map<String,String>

Map<String,String>

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

alert_rule_id

String

UUID

alert_rule_name

String

Alert rule name 告警规则名称

script

String

Job Script 作业脚本

status

String

参数解释:

作业状态

  • ENABLED 启用

  • DISABLED 禁用

约束限制

不涉及

取值范围:

  • ENABLED

  • DISABLED

默认值

不涉及

directory

String

directory 目录分组

description

String

Alert rule description 告警规则描述

job_mode

String

参数解释:

作业模式

  • STREAMING 流式处理

  • BATCH 批处理

  • SEARCH 检索

约束限制

不涉及

取值范围:

  • STREAMING

  • BATCH

  • SEARCH

默认值

不涉及

job_mode_setting

IsapJobModeSettingVo object

作业模式设置

job_output_setting

AlertRuleJobSetting object

告警规则作业设置

process_status

String

参数解释:

作业处理状态

  • COMPLETED 已完成

  • CREATING 创建中

  • UPDATING 更新中

  • ENABLING 启用中

  • DISABLING 停用中

  • DELETING 删除中

  • CREATE_FAILED 创建失败

  • UPDATE_FAILED 更新失败

  • ENABLE_FAILED 启用失败

  • DISABLE_FAILED 停用失败

  • DELETE_FAILED 删除失败

  • RECOVERING 恢复中

约束限制

不涉及

取值范围:

  • COMPLETED

  • CREATING

  • UPDATING

  • ENABLING

  • DISABLING

  • DELETING

  • CREATE_FAILED

  • UPDATE_FAILED

  • ENABLE_FAILED

  • DISABLE_FAILED

  • DELETE_FAILED

  • RECOVERING

默认值

不涉及

process_error

String

参数解释:

告警规则处理错误

  • NONE 无

约束限制

不涉及

取值范围:

  • NONE

默认值

不涉及

environment

String

参数解释:

环境类型

  • PROD 生产环境

  • TEST 测试环境

约束限制

不涉及

取值范围:

  • PROD

  • TEST

默认值

不涉及

output_table_id

String

UUID

output_table_name

String

表名称

output_table_ids

Array of strings

output table id list

output_table_names

Array of strings

output table name list

create_by

String

Create by

create_time

Integer

毫秒时间戳

update_by

String

Update by 创建人

update_time

Integer

毫秒时间戳

delete_time

Integer

毫秒时间戳

表7 IsapJobModeSettingVo

参数

参数类型

描述

batch_overtime_interval

Integer

Time

batch_overtime_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

batch_frequency_interval

Integer

Time

batch_frequency_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

streaming_state_ttl_interval

Integer

Time

streaming_state_ttl_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

streaming_checkpoint_ttl_interval

Integer

Time

streaming_checkpoint_ttl_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

streaming_startup_mode

String

参数解释:

作业启动模式

  • UPGRADE 升级启动

  • REFRESH_NEW 全新启动

约束限制

不涉及

取值范围:

  • UPGRADE

  • REFRESH_NEW

默认值

不涉及

batch_overtime_strategy_interval

Integer

Time

batch_overtime_strategy_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

search_delay_interval

Integer

Time

search_delay_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

search_frequency_interval

Integer

Time

search_frequency_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

search_overtime_interval

Integer

Time

search_overtime_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

search_period_interval

Integer

Time

search_period_unit

String

参数解释:

时间单位

  • MINUTE 分钟

  • HOUR 小时

  • DAY 天

  • MONTH 月

约束限制

不涉及

取值范围:

  • MINUTE

  • HOUR

  • DAY

  • MONTH

默认值

不涉及

search_table_id

String

UUID

search_table_name

String

表名称

表8 AlertRuleJobSetting

参数

参数类型

描述

alert_custom_properties

Map<String,String>

Alert custom properties

alert_description

String

Alert description

alert_grouping

Boolean

Alert grouping

alert_mapping

Map<String,String>

Alert mapping

alert_name

String

Alert name

alert_remediation

String

Alert remediation

alert_severity

String

参数解释:

告警等级

  • TIPS 提示

  • LOW 低危

  • MEDIUM 中危

  • HIGH 高危

  • FATAL 致命

约束限制

不涉及

取值范围:

  • TIPS

  • LOW

  • MEDIUM

  • HIGH

  • FATAL

默认值

不涉及

alert_suppression

Boolean

Alert suppression

alert_type

Map<String,String>

Alert type

entity_extraction

Map<String,String>

Map<String,String>

field_mapping

Map<String,String>

Map<String,String>

dict_mapping

Array of DictMppingObject objects

dict mapping Object

表9 DictMppingObject

参数

参数类型

描述

dest_field_name

String

字典映射的目标字段

table_id

String

字典映射对象的维表的ID

dic_map_name

String

字典映射名

src_filed_name

String

字典映射的原始字段

请求示例

响应示例

SDK代码示例

SDK代码示例如下。

Java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.secmaster.v2.region.SecMasterRegion;
import com.huaweicloud.sdk.secmaster.v2.*;
import com.huaweicloud.sdk.secmaster.v2.model.*;


public class UpdateAlertRuleSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        SecMasterClient client = SecMasterClient.newBuilder()
                .withCredential(auth)
                .withRegion(SecMasterRegion.valueOf("<YOUR REGION>"))
                .build();
        UpdateAlertRuleRequest request = new UpdateAlertRuleRequest();
        request.withWorkspaceId("{workspace_id}");
        UpdateAlertRuleRequestBody body = new UpdateAlertRuleRequestBody();
        request.withBody(body);
        try {
            UpdateAlertRuleResponse response = client.updateAlertRule(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}

Python

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdksecmaster.v2.region.secmaster_region import SecMasterRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdksecmaster.v2 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = SecMasterClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(SecMasterRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = UpdateAlertRuleRequest()
        request.workspace_id = "{workspace_id}"
        request.body = UpdateAlertRuleRequestBody(
        )
        response = client.update_alert_rule(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Go

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    secmaster "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v2/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := secmaster.NewSecMasterClient(
        secmaster.SecMasterClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.UpdateAlertRuleRequest{}
	request.WorkspaceId = "{workspace_id}"
	request.Body = &model.UpdateAlertRuleRequestBody{
	}
	response, err := client.UpdateAlertRule(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

成功

错误码

请参见错误码

相关文档