가져오기¶
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배열을 준비합니다. 각 요소는 로그 인덱스 템플릿을 나타냅니다.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}]}'