インポート¶
POST /api/v1/log_index_cfg/import
概要¶
ログインデックステンプレートを一括インポートします。同名チェック、スキップ、上書きに対応しています。
Body リクエストパラメータ¶
| パラメータ名 | 型 | 必須 | 説明 |
|---|---|---|---|
| logIndexes | array | Y | ログインデックステンプレートのリスト 空を許可: False |
| logIndexes[*] | None | ||
| logIndexes[*].name | string | Y | インデックス名 空を許可: False |
| logIndexes[*].desc | string | インデックスの説明 空を許可: False |
|
| logIndexes[*].directIndex | boolean | ネイティブダイレクト書き込みインデックスかどうか 空を許可: False |
|
| logIndexes[*].isFullLineIndex | int | フルラインインデックスかどうか。整数 0/1 またはブール値 false/true をサポートします。新規作成の Scopedb インデックスはデフォルトで 1 となり、0 に設定することはできません。既存インデックスを上書きする場合は、0/false から 1/true への切り替えのみ許可され、逆方向の切り替えは禁止です。未指定の場合は元の値を保持します 空を許可: False |
|
| logIndexes[*].conditions | string | マッチ条件 空を許可: False |
|
| logIndexes[*].duration | string | 保存期間 空を許可: False |
|
| logIndexes[*].storagePolicy | json | 長期保存ポリシー 空を許可: False |
|
| logIndexes[*].extend | json | 拡張設定 空を許可: False |
|
| logIndexes[*].setting | json | ストレージ設定 空を許可: False |
|
| logIndexes[*].fields | array | フィールドマッピング設定 空を許可: False |
|
| logIndexes[*].cloneConfig | json | クローンインデックスの完全な設定。クローンインデックスがない場合は null を許可します 空を許可: True |
|
| logIndexes[*].is_disable | boolean | 無効にするかどうか 空を許可: False |
|
| repeatLogIndexNameOp | string | ログインデックスの同名処理ポリシー 空を許可: False 指定可能な値: ['check', 'skip', 'recover'] |
パラメータの補足説明¶
この API は、ログインデックステンプレートを単体でインポートするために使用します。
呼び出しフロー
logIndexes配列を準備します。各要素は 1 つのログインデックステンプレートを表します。repeatLogIndexNameOpで、同名インデックスに遭遇した場合の処理ポリシーを指定します。- ポリシーが
checkで同名インデックスが存在する場合、API はrepeat_nameを返し、データベースへの保存は実行されません。
repeatLogIndexNameOp の説明
| 値 | 説明 |
|---|---|
| check | 重複チェックのみ行います。同名インデックスがある場合は repeat_name を返します |
| skip | 既存の同名インデックスをスキップし、存在しないインデックスのみインポートします |
| recover | 対象ワークスペースに同名インデックスがすでに存在する場合、インポートテンプレートに従ってそのインデックス設定を上書きします |
特別ルール
name=defaultのテンプレートは無視され、インポートは実行されません- 外部インデックステンプレートは無視され、インポートは実行されません
recoverは同名の内部インデックスのみを上書きし、defaultには操作を行いません
テンプレートのフィールド
| フィールド | type | 必須 | 説明 |
|---|---|---|---|
| name | string | 必須 | インデックス名 |
| desc | string | 任意 | インデックスの説明 |
| directIndex | boolean | 任意 | ネイティブダイレクト書き込みインデックスかどうか |
| isFullLineIndex | int | 任意 | フルラインインデックスかどうか。整数 0/1 またはブール値 false/true をサポートします。新規作成の Scopedb インデックスはデフォルトで 1 となり、0 に設定することはできません。既存インデックスを上書きする場合は 0→1 のみ許可され、1→0 は禁止です。未指定の場合は元の値を保持します |
| conditions | string | 任意 | マッチ条件 |
| duration | string | 任意 | 保存期間 |
| storagePolicy | json | 任意 | 長期保存ポリシー |
| extend | json | 任意 | 拡張設定 |
| setting | json | 任意 | ストレージ設定 |
| fields | array | 任意 | フィールドマッピング |
| cloneConfig | json/null | 任意 | クローンインデックスの完全な設定。クローンインデックスがない場合は null を渡します |
| is_disable | boolean | 任意 | 無効にするかどうか |
レスポンスの説明
- インポート成功時は、
successCount、failCountを返します - 一部のオブジェクトが失敗した場合、レスポンスには追加で
failedNamesが含まれます checkモードで重複が検出された場合は、repeat_nameを返します
リクエスト例¶
curl 'https://openapi.guance.com/api/v1/log_index_cfg/import' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json' \
--data-raw '{"repeatLogIndexNameOp":"recover","logIndexes":[{"name":"app-log","desc":"应用日志索引","directIndex":false,"isFullLineIndex":1,"conditions":"","duration":"7d","storagePolicy":{},"extend":{},"setting":{},"fields":[],"cloneConfig":{"name":"app-log-clone","desc":"应用日志克隆索引","isFullLineIndex":1,"conditions":"service = '\''api'\''","duration":"3d","storagePolicy":{},"extend":{"matchMode":"basic","filters":[{"name":"service","condition":"and","operation":"=","value":["api"]}]},"setting":{},"fields":[{"field":"host_alias","originalField":"host"}],"is_disable":false},"is_disable":false}]}'