콘텐츠로 이동

생성



POST /api/v1/pipeline/add

개요

Pipeline을 생성합니다.

category 유형이 profiling인 경우, 워크스페이스 설정 필드 CentralPLServiceSwitch(/workspace/get API가 반환)가 true여야 이 규칙이 실제로 적용됩니다.

Body 요청 매개변수

매개변수 유형 필수 설명
name string Y Pipeline 파일 이름
빈 값 허용: False
최대 길이: 256
$notSearchRegExp: [^a-zA-Z0-9_\u4e00-\u9fa5-]+
type string Y Pipeline 파일 유형
빈 값 허용: False
선택 값: ['local', 'central']
source array 선택한 source 목록
빈 값 허용: False
versionAction string 버전 출처 동작; 공식 템플릿 또는 현재 Pipeline을 클론할 때 전달
빈 값 허용: False
선택 값: ['official_clone', 'current_clone']
sourceTemplateName string 공식 템플릿 클론 시 출처 템플릿 이름
빈 값 허용: False
빈 문자열 허용: False
sourcePipelineUUID string 현재 버전 클론 시 출처 Pipeline UUID
빈 값 허용: False
빈 문자열 허용: False
sourceConfigVersion integer 현재 버전 클론 시 읽어오는 출처 Pipeline 구성 버전 번호
빈 값 허용: False
$minValue: 1
content string Y Pipeline 파일 내용(base64 인코딩).
base64 디코딩된 스크립트는 Studio UI의 문자 수 계산 규칙에 따라 검증됩니다. U+0001–U+007E, U+FF60–U+FF9F는 1로 계산하고, 기타 UTF-16 단위는 2로 계산하며 상한은 65535입니다. 또한 디코딩된 스크립트 전체의 UTF-8 인코딩 크기는 65535바이트를 초과할 수 없습니다. 둘 중 하나라도 초과하면 ft.ContextExceedLimit이 반환되며, 바이트 초과 안내는 바이트 단위로 표시됩니다.
빈 값 허용: False
testData string 테스트 데이터(base64 인코딩). OpenAPI 측에서는 빈 문자열 또는 base64 디코딩 후 JSON 배열인 내용만 전달할 수 있습니다.

생성 방식:
1. 먼저 테스트 샘플 배열을 준비합니다.
2. 배열에 JSON.stringify를 실행합니다.
3. 얻은 UTF-8 문자열을 base64 인코딩한 후 testData로 전달합니다.

일반적인 예시:
- 빈 샘플 배열: [] -> W10=
- 단일 JSON 로그: [{"level":"info","msg":"HTTP"}] -> W3sibGV2ZWwiOiJpbmZvIiwibXNnIjoiSFRUUCJ9XQ==
- 단일 텍스트 로그: ["raw log line"] -> WyJyYXcgbG9nIGxpbmUiXQ==

잘못된 예시: {"level":"info","msg":"HTTP"}를 base64로 인코딩하여 바로 전달하는 경우, 디코딩 후 최상위 레벨이 object이므로 배열이 아닙니다.
빈 값 허용: False
빈 문자열 허용: True
dataType string 데이터 유형: line_protocol - 라인 프로토콜 형식; json - JSON 형식; message - Message
예시: line_protocol
빈 값 허용: False
빈 문자열 허용: True
선택 값: ['line_protocol', 'json', 'message']
isForce boolean 특정 유형에 default가 있을 때 교체할지 여부
빈 값 허용: False
category string Y 카테고리
빈 값 허용: False
빈 문자열 허용: False
선택 값: ['logging', 'object', 'custom_object', 'network', 'tracing', 'rum', 'llm', 'agent_monitor', 'security', 'keyevent', 'metric', 'profiling', 'dialtesting', 'billing', 'keyevent']
asDefault int 해당 유형의 기본 pipeline으로 지정할지 여부, 1은 기본으로 설정, 0은 기본이 아님
빈 값 허용: False
enableByLogBackup int 전송 데이터를 처리하도록 Pipeline 활성화, 1은 활성화, 0은 비활성화
빈 값 허용: False
extend json 카테고리
빈 값 허용: False
extend.appID array appID
빈 값 허용: True
extend.measurement array source 출처
빈 값 허용: True
extend.loggingIndex string 로그 인덱스
빈 값 허용: True
extend.ifAiCreate boolean AI 생성 파싱 규칙인지 여부
빈 값 허용: True
extend.aiTargetStructure string AI 추출 내용
빈 문자열 허용: True
빈 값 허용: True
extend.exampleSource string 예제 소스
빈 문자열 허용: True
빈 값 허용: True
extend.exampleType string 예제 유형
빈 문자열 허용: True
빈 값 허용: True

매개변수 추가 설명

요청 예시

curl 'https://openapi.guance.com/api/v1/pipeline/add' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"name":"openapi_test","category":"logging","asDefault":0,"content":"YWRkX2tleShjaXR5LCAic2hhbmdoYWkiKQ==","testData":"W3sibGV2ZWwiOiJpbmZvIiwibXNnIjoiSFRUUCJ9XQ==","source":["nsqlookupd"]}' \
--compressed

응답

{
    "code": 200,
    "content": {
        "asDefault": 0,
        "category": "logging",
        "content": "YWRkX2tleShjaXR5LCAic2hhbmdoYWkiKQ==\n",
        "createAt": 1678026470,
        "creator": "xxxx",
        "deleteAt": -1,
        "extend": {},
        "id": null,
        "isSysTemplate": null,
        "name": "openapi_test",
        "status": 0,
        "testData": "W10=\n",
        "updateAt": 1678026470,
        "updator": "xxxx",
        "uuid": "pl_xxxx32",
        "workspaceUUID": "wksp_xxxx32"
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-74509B6F-DE3D-4905-AC9F-4FD96ED78EC3"
} 

문서 평가

이 페이지가 도움이 되었나요?