跳转至

克隆历史版本



POST /api/v1/pipeline_history/{pipeline_history_uuid}/clone

概述

从历史配置创建新Pipeline v1;source缺省沿用历史,显式空数组覆盖为空,继续执行新增校验。

路由参数

参数名 类型 必选 说明
pipeline_history_uuid string Y 历史列表 historyRecord[].uuid 返回的历史 UUID,不是 Pipeline UUID 或数字 id。

Body 请求参数

参数名 类型 必选 说明
name string Y 新 Pipeline 名称
允许为空: False
允许为空字符串: False
最大长度: 256
$notSearchRegExp: [^a-zA-Z0-9_\u4e00-\u9fa5-]+
type string Y 新 Pipeline 运行类型
允许为空: False
可选值: ['local', 'central']
source array 可选的新 source 列表;缺省使用历史版本 source
允许为空: False
isForce boolean 默认 Pipeline 冲突确认
允许为空: False

参数补充说明

从指定历史配置创建一条独立 Pipeline,适用于保留旧版本、创建新规则或切换运行类型;不会修改来源 Pipeline。

参数与行为

name 和 type 必填;type=local 表示本地 Pipeline,type=central 表示中心 Pipeline。新名称最长 256 个字符,允许字符约束与普通新增接口一致。名称和 source 必须通过现有新增校验。

source 缺省时继承历史值;显式 [] 表示用空列表替换;显式传非空数组则使用新列表。特殊类别仍会按现有业务规则组装 source,因此空数组不保证绕过类别校验或源冲突。沿用历史 source 常会与原 Pipeline 冲突,建议根据目标运行类型和类别选择新的 source。

新资源从 configVersion=1 开始,来源标记为 history/history_clone,保留来源历史 UUID、Pipeline UUID 和版本号。克隆不会继承原资源的整个历史链,也不会自动设为默认 Pipeline(asDefault=0)。其余配置来自历史快照,不支持在此请求中任意提交 content、category 或 extend;如需进一步编辑,克隆后调用普通修改接口。

isForce 为与 Front 对齐保留的默认冲突确认参数,缺省 false;历史克隆当前固定 asDefault=0,通常无需设置。此参数不能跳过名称/source校验。

使用前提

使用所属工作空间的 DF-API-KEY 调用 OpenAPI 服务。查询需要读取权限;恢复和克隆需要 Pipeline 管理及写入权限。接口不支持通过请求体指定其他工作空间或操作人。示例中的 Endpoint、资源 UUID 和 API-Key 均为占位符,请替换后调用,不要在日志中输出 API Key。

响应示例使用虚构资源,展示典型业务字段;实际响应可能包含普通 Pipeline 接口的其他字段。调用方应兼容新增字段。

版本字段

字段 含义
configVersion 配置版本号,新建资源从 1 开始;启用、禁用不推进此版本
configVersionAt 此配置版本生成时间,Unix 秒级时间戳,不是毫秒
configVersionOperator / configVersionOperatorInfo 操作人标识及展示信息;无法解析展示信息时可能为空对象
configVersionSource / configVersionAction 版本来源及动作,例如 openapi/modify、history/history_restore
configVersionSourceInfo 来源补充信息;历史操作含 pipelineHistoryUUID、pipelineUUID、configVersion
createAt 历史快照归档时间,可能晚于 configVersionAt;历史列表保留窗口按此字段计算

历史 config.content 和 config.testData 为 Base64 编码字符串。调用方先 Base64 解码,再按 UTF-8 读取;testData 是测试样例,不会因读取或恢复接口自动执行。不要把 configVersionSourceInfo 中的来源版本号当成当前版本号。

返回及重试

成功 content 沿用普通新增接口的 Pipeline 对象,uuid 是新资源 UUID;来源 UUID 在 configVersionSourceInfo 中。新建操作不提供幂等键,超时后先查询目标资源是否已创建,避免无条件重试产生重复创建或名称冲突。无权限、来源不存在或所属 Pipeline 已删除时不创建资源。

请求例子

curl -X POST 'https://openapi.guance.com/api/v1/pipeline_history/<pipeline_history_uuid>/clone' -H 'DF-API-KEY: <API-Key>' -H 'Content-Type: application/json' -d '{"name":"copy","type":"local","source":[]}'

响应

{
    "code": 200,
    "content": {
        "name": "copy",
        "type": "local",
        "category": "logging",
        "source": [],
        "content": "YWRkX2tleShjaXR5LCAic2hhbmdoYWkiKQ==",
        "testData": "W10=",
        "dataType": "line_protocol",
        "asDefault": 0,
        "enableByLogBackup": 0,
        "extend": {},
        "id": 11,
        "uuid": "pl_copy",
        "workspaceUUID": "wksp_example",
        "status": 0,
        "creator": "acnt_example",
        "updator": "acnt_example",
        "createAt": 1788799900,
        "updateAt": 1788800200,
        "deleteAt": -1,
        "configVersion": 1,
        "configVersionAt": 1788800200,
        "configVersionOperator": "acnt_example",
        "configVersionSource": "history",
        "configVersionAction": "history_clone",
        "configVersionSourceInfo": {
            "pipelineHistoryUUID": "plh_example",
            "pipelineUUID": "pl_example",
            "configVersion": 2
        }
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE_EXAMPLE"
}

文档评价

文档内容是否对您有帮助?