コンテンツにスキップ

インポート



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 は、ログインデックステンプレートを単体でインポートするために使用します。

呼び出しフロー

  1. logIndexes 配列を準備します。各要素は 1 つのログインデックステンプレートを表します。
  2. repeatLogIndexNameOp で、同名インデックスに遭遇した場合の処理ポリシーを指定します。
  3. ポリシーが 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}]}'

レスポンス

{
    "code": 200,
    "content": {
        "successCount": 1,
        "failCount": 0
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-EXAMPLE"
} 

フィードバック

このページは役に立ちましたか?