デフォルトタイプのインデックス作成¶
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 ストレージのワークスペースのみ有効化できます。pay、enterprise、unlimited はログの長期ストレージをサポートし、enterprise/unlimited の logging は最大 1800d です。enterprise/unlimited の rp はカスタムの長期ストレージ期間(最大 3600d)をサポートします。unlimited は BossAccountSet が有効な場合、metric_point_total 課金タイプのみサポートし、無効な場合は metric_point_total として処理されます。longStorageEnabled と longStorageDuration を含みます 例: {'longStorageEnabled': True, 'longStorageDuration': '180d'} 空の許可: False |
|
| directIndex | boolean | ネイティブ直接書き込みインデックス。デフォルトは false。2025-06-25 のイテレーションで新規追加 空の許可: False |
|
| isFullLineIndex | int | 全行インデックスかどうか。整数 0/1 またはブール値 false/true に対応します。Scopedb で新規作成するインデックスはデフォルトで 1/true のみサポートし、その他のログストレージは従来のデフォルト 0 を維持し、1 への設定はサポートされません 空の許可: False |
|
| setting | json | 関連設定情報 空の許可: False |
|
| setting.hot_retention | int | Volcengine ストレージ、標準ストレージ - ホットデータ 空の許可: False |
|
| setting.cold_retention | int | Volcengine ストレージ、低頻度ストレージ - コールドデータ 空の許可: False |
|
| setting.archive_retention | int | Volcengine ストレージ、アーカイブストレージ - アーカイブデータ 空の許可: False |
パラメータ補足説明¶
1. リクエストパラメータの説明
| パラメータ名 | type | 必須 | 説明 |
|---|---|---|---|
| name | String | 必須 | インデックス名 |
| desc | String | インデックスの説明 | |
| extend | Json | フロントエンドへの表示用拡張情報 | |
| duration | Json | インデックスの総ストレージ期間。例: 60d | |
| directIndex | Boolean | ネイティブ直接書き込みインデックス。デフォルトは false。2025-06-25 のイテレーションで新規追加 | |
| setting | Json | ログが Volcengine ストレージの場合のインデックス設定情報 |
2. setting 内のパラメータ説明
| パラメータ名 | type | 必須 | 説明 |
|---|---|---|---|
| hot_retention | int | 必須 | 標準ストレージ - ホットデータ。日単位の時間数である必要があります。単位: 時間 (h) |
| cold_retention | int | 低頻度ストレージ - コールドデータ。日単位の時間数である必要があります。単位: 時間 (h) | |
| archive_retention | int | アーカイブストレージ - アーカイブデータ。日単位の時間数である必要があります。単位: 時間 (h) |
2.1、Volcengine ストレージの期間制限:
標準ストレージ:ホットデータストレージで、データ範囲は 1〜1800 日です。低頻度ストレージがある場合は 7〜1800 日、アーカイブストレージがある場合は 30〜1800 日です。
低頻度ストレージ:コールドデータストレージで、データ範囲は 30〜1800 日です。
アーカイブストレージ:アーカイブデータなどのストレージで、データ範囲は 60〜1800 日です。
2.2、Volcengine ストレージの期間制限:
総ストレージ期間(標準ストレージ + 低頻度ストレージ + アーカイブストレージ)は 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":1,"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": 1,
"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"
}