文档首页/ 安全云脑 SecMaster/ API参考/ 安全云脑 API V1/ 云服务接入/ 保存云服务采集配置 - CreateCollectConfig
更新时间:2026-01-29 GMT+08:00
分享

保存云服务采集配置 - CreateCollectConfig

功能介绍

保存云服务采集配置

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项

URI

POST /v1/{project_id}/collector/cloudlogs/config

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表2 Query参数

参数

是否必选

参数类型

描述

region_id

String

区域ID

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

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

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表4 请求Body参数

参数

是否必选

参数类型

描述

config

Array of ConfigInfo objects

数据集列表

dataspace_id

String

数据空间ID

dataspace_name

String

数据空间名称

domain_id

String

账号ID

lts_config

Array of LtsRquestVo objects

lts配置

workspace_id

String

工作空间 id

表5 ConfigInfo

参数

是否必选

参数类型

描述

accounts

Array of strings

纳管账号列表(非跨账号场景不传递)

action

String

操作

alert

Boolean

自动转告警的开关

all_accounts

Boolean

是否接入已纳管的全量账号

csvc

String

云产品

csvc_display

String

云服务描述

enable

Long

启用状态:0未启用;1启用

new_account_auto_access

Boolean

新账号自动同步的开关

shards

Long

所需分区数

source_display

String

数据源描述

source_id

Long

数据源ID

source_name

String

日志名称

ttl

Long

数据生命周期

表6 LtsRquestVo

参数

是否必选

参数类型

描述

config_name

String

配置名称

description

String

描述

enable

String

是否开启

log_group_id

String

日志ID

log_stream_id

String

日志流ID

log_type

String

日志类型

log_type_prefix

String

日志前缀

pipe_alias

String

日志别名

响应参数

状态码:200

表7 响应Body参数

参数

参数类型

描述

[数组元素]

Array of ConfigResponse objects

保存云服务采集配置响应

表8 ConfigResponse

参数

参数类型

描述

alert

Boolean

自动转告警的开关

allow_alert

Boolean

能否开自动转告警

allow_lts

Boolean

是否允许长期存储

csvc_display

String

云服务描述

datasets

Array of DatasetInfo objects

关联的数据集列表

region

Boolean

是否按区域分片采集

source_display

String

数据源描述

success

Boolean

是否创建成功

total

Integer

当前已采集的日志条数

表9 DatasetInfo

参数

参数类型

描述

csvc

String

所属云服务,例如主机安全就填写hss

enable

String

启用状态:0未启用;1启用

is_region

Long

位置信息:1 region;0 global

reference

reference object

数据源名称

source_id

Long

数据源ID

source_name

String

数据源名称

target

Object

目标管道信息

type

Long

订阅类型:1租户订阅;2租户行管订阅;3平台行管(当前都为1)

表10 reference

参数

参数类型

描述

csvc_display

String

云服务描述

source_display

String

数据源描述

link

String

链接

csvc_help

String

云服务帮助说明

source_help

String

数据源帮助说明

表11 TargetInfo

参数

参数类型

描述

pipe

String

管道名

shards

Long

所需分区数

ttl

Long

数据生命周期

请求示例

保存云服务日志订阅

{
  "domain_id" : "9f284b6b77a247eb9d0ede96e092e322",
  "workspace_id" : "25a8188b-db45-4393-b925-1bae8ea4360c",
  "config" : [ {
    "source_id" : 601,
    "enable" : 0,
    "alert" : false,
    "ttl" : 7,
    "shards" : 1,
    "csvc_display" : "云审计服务 CTS",
    "source_display" : "云审计服务日志",
    "csvc" : "cts",
    "source_name" : "cts-audit"
  } ]
}

响应示例

状态码:200

成功

[ {
  "alert" : false,
  "allow_alert" : false,
  "allow_lts" : false,
  "csvc_display" : "云审计服务 CTS",
  "datasets" : [ ],
  "region" : false,
  "source_display" : "云审计服务日志",
  "success" : true,
  "total" : 0
} ]

SDK代码示例

SDK代码示例如下。

 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
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.v1.region.SecMasterRegion;
import com.huaweicloud.sdk.secmaster.v1.*;
import com.huaweicloud.sdk.secmaster.v1.model.*;


public class CreateCollectConfigSolution {

    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();
        CreateCollectConfigRequest request = new CreateCollectConfigRequest();
        try {
            CreateCollectConfigResponse response = client.createCollectConfig(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());
        }
    }
}
 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
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdksecmaster.v1.region.secmaster_region import SecMasterRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdksecmaster.v1 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 = CreateCollectConfigRequest()
        response = client.create_collect_config(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    secmaster "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v1/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.CreateCollectConfigRequest{}
	response, err := client.CreateCollectConfig(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

状态码

状态码

描述

200

成功

错误码

请参见错误码

相关文档