コンテンツにスキップ

作成



POST /api/v1/pipeline/add

概要

Pipeline を作成します。

category が profiling の場合、ワークスペース設定のフィールド CentralPLServiceSwitch(/workspace/get インターフェースの戻り値)が 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"
} 

フィードバック

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