콘텐츠로 이동

생성



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
content string Y pipeline 파일 내용(base64 인코딩).
base64 디코딩된 스크립트는 Studio UI의 문자 수 계산 규칙에 따라 검증됩니다: U+0001–U+007E, U+FF60–U+FF9F는 1자, 기타 UTF-16 단위는 2자로 계산하며, 상한은 10240입니다.

빈 값 허용: 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
|

매개변수 추가 설명

요청 예시

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"
}

문서 평가

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