创建默认类型索引¶
POST /api/v1/log_index_cfg/add
概述¶
创建一个默认存储类型索引配置
Body 请求参数¶
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
| name | string | Y | 索引名字 例子: xxx 允许为空: False 最大长度: 256 |
| desc | string | 索引描述 例子: xxx 允许为空: False 允许为空字符串: True 最大长度: 1024 |
|
| extend | json | 前端自定义数据 允许为空: True |
|
| duration | string | 数据保留时长 允许为空: False 例子: 7d |
|
| storagePolicy | json | 长期存储策略,仅日志为 scopedb 存储的工作空间允许开启,unlimited 版本不支持;enterprise 版本支持自定义长期存储时长,logging 最大 1800d,rp 最大 3600d;包含 longStorageEnabled 和 longStorageDuration 例子: {'longStorageEnabled': True, 'longStorageDuration': '180d'} 允许为空: False |
|
| directIndex | boolean | 原生直写索引, 默认 false, 2025-06-25迭代新增 允许为空: False |
|
| isFullLineIndex | int | 是否为全行索引;0/false 表示保留 message 字段索引,1/true 表示全行索引,默认 0;仅日志存储为 scopedb 的工作空间允许设置为 1 允许为空: False |
|
| setting | json | 相关配置信息 允许为空: False |
|
| setting.hot_retention | int | 火山引擎存储, 标准存储-热存储 允许为空: False |
|
| setting.cold_retention | int | 火山引擎存储, 低频存储-冷数据 允许为空: False |
|
| setting.archive_retention | int | 火山引擎存储, 归档存储-归档数据 允许为空: False |
参数补充说明¶
1. 请求参数说明
| 参数名 | type | 必选 | 说明 |
|---|---|---|---|
| name | String | 必须 | 索引名称 |
| desc | String | 索引描述 | |
| extend | Json | 用于前端回显的扩展信息 | |
| duration | Json | 索引总存储时长, 示列: 60d | |
| directIndex | Boolean | 原生直写索引, 默认 false, 2025-06-25迭代新增 | |
| setting | Json | 当日志为火山存储时, 索引配置信息 |
2. **setting 中的参数说明
| 参数名 | type | 必选 | 说明 |
|---|---|---|---|
| hot_retention | int | 必须 | 标准存储 - 热数据, 需为整天小时数 单位: 小时 h |
| cold_retention | int | 低频存储 - 冷数据, 需为整天小时数 单位: 小时 h | |
| archive_retention | int | 归档存储 - 归档数据, 需为整天小时数 单位: 小时 h |
2.1、火山存储时长限制:
标准存储:即热数据存储,数据范围:1-1800 天。若有低频存储,则数据范围:7-1800 天;若有归档存储,则数据范围:30-1800 天。
低频存储:冷数据存储,数据范围:30-1800 天。
归档存储:即归档数据等存储,数据范围:60-1800 天。
2.2、火山存储时长限制:
总存储时长(标准存储 + 低频存储 + 归档存储)不可大于 1800 天。
3. **extend 中的参数说明
| 参数名 | type | 必选 | 说明 |
|---|---|---|---|
| matchMode | String | 匹配模式,可选值:basic、advanced;缺省按 basic 处理 |
|
| filters | Array[dict] | 普通匹配过滤条件列表,原生直写索引无需配置,advanced 模式下建议传空数组 |
|
| advancedFilter | Dict | 进阶匹配条件树,matchMode=advanced 时生效 |
|
| extendFields | Array | 索引拓展字段信息 | |
| extendFields[*].tag | String | 是 | 关键字段名 |
| extendFields[*].alias | String | 关键字段别名 | |
| services | String | 匹配服务 |
4. extend.filters的主体结构说明
| 参数名 | type | 必选 | 说明 |
|---|---|---|---|
| condition | string | 与前一个过滤条件的关系,可选值:and, or; 默认值: and |
|
| name | string | 待过滤的字段名 | |
| operation | string | 运算符, 可选值: in, not_in |
|
| value | array | 值列表 | |
| value[#] | string/int/boolean | 可为字符串/数值/布尔类型 |
5. extend.advancedFilter的主体结构说明
| 参数名 | type | 必选 | 说明 |
|---|---|---|---|
| type | string | 是 | 根节点固定为 group |
| condition | string | 是 | 当前分组内子节点关系,可选值:and、or |
| filters | array | 是 | 子节点列表,元素可以是 rule 或 group |
| filters[#].type | string | 是 | 节点类型,可选值:rule、group |
| filters[#].name | string | rule 必填 | 日志字段名 |
| filters[#].operation | string | rule 必填 | 运算符,可选值:=, !=, in, not_in, match, not_match, wildcard, not_wildcard, regexp, not_regexp, >, <, >=, <=, exist, not_exist |
| filters[#].value | array | rule 必填 | 值列表,exist / not_exist 使用空数组 |
matchMode=advanced 时,后端会按 DQL where 风格生成 conditions,例如 IN、NOT IN、= match('xxx')、= wildcard('xxx');普通 filters 仍保持历史生成格式。
请求例子¶
curl 'https://openapi.guance.com/api/v1/log_index_cfg/add' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: zh' \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'DF-API-KEY: <DF-API-KEY>' \
--data-raw '{"name":"test_index","duration":"14d","isFullLineIndex":0,"extend":{"filters":[{"condition":"and","name":"host","operation":"in","value":["custom_host1"]}]}}' \
--compressed
响应¶
{
"code": 200,
"content": {
"conditions": "{ `host` in [ 'custom_host1' ] }",
"createAt": 1698751853,
"creator": "xxx",
"deleteAt": -1,
"duration": "14d",
"extend": {
"filters": [
{
"condition": "and",
"name": "host",
"operation": "in",
"value": [
"custom_host1"
]
}
]
},
"exterStoreName": "",
"exterStoreProject": "",
"externalResourceAccessCfgUUID": "",
"id": null,
"isBindCustomStore": 0,
"isFullLineIndex": 0,
"isPublicNetworkAccess": 0,
"name": "test_index",
"queryType": "logging",
"region": "",
"setting": {},
"sortNo": 3,
"status": 0,
"storeType": "",
"updateAt": 1698751853,
"updator": "xxx",
"uuid": "lgim_xxxx32",
"workspaceUUID": "wksp_xxxx32"
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE-600346C3-6C89-4391-9CA3-2152D10149D8"
}