n8n_workflow_data_governance.md 7.8 KB

n8n Data-governance 工作流文档

工作流概述

工作流名称: Data-governance
工作流ID: rZK08l4aNUGgwmfO
状态: 未激活(inactive)
创建时间: 2025-11-04

功能描述

这是一个基于 n8n 的数据治理对话工作流,通过交互式对话实现元数据管理功能:

  1. 主动询问用户是否需要进行元数据管理
  2. 根据用户的确认或拒绝响应,执行不同的操作:
    • 确认:发起元数据新增工作节点,调用 DataOps API
    • 拒绝:返回到对话,提供其他数据治理服务选项

工作流结构

节点说明

1. When chat message received (Manual Trigger)

  • 类型: Manual Trigger
  • 位置: (240, 380)
  • 功能: 手动触发工作流启动
  • 说明: 在实际使用中,可以替换为 Webhook 或 Chat Trigger 节点

2. Initial Message (Set Node)

  • 类型: Set Node
  • 位置: (460, 380)
  • 功能: 设置初始欢迎消息
  • 消息内容:

    您好!我是数据治理助手。
    
    我可以帮助您:
    - 进行元数据管理
    - 数据标准制定
    - 数据质量检查
    
    请问您需要进行元数据管理吗?(请回答:是 或 否)
    

3. Check User Response (IF Node)

  • 类型: IF 条件判断节点
  • 位置: (680, 380)
  • 条件: 检查 user_response 字段是否等于 "是"
  • 输出:
    • True分支: 用户确认,执行元数据新增
    • False分支: 用户拒绝,返回对话

4. Add Metadata (HTTP Request Node)

  • 类型: HTTP Request
  • 位置: (920, 280)
  • 方法: POST
  • URL: http://localhost:5000/api/meta/add
  • 请求体:

    {
    "name_zh": "新建元数据",
    "data_type": "string",
    "description": "通过工作流创建的元数据",
    "source": "data-governance-workflow"
    }
    
    • 说明: 调用 DataOps 平台的元数据新增接口

    5. Confirm Message (Set Node)

    • 类型: Set Node
    • 位置: (1140, 280)
    • 功能: 返回确认消息
    • 消息内容: ```

好的!已为您发起元数据新增工作流程。

操作结果:{{ $json.statusMessage || '处理中...' }}

如需继续其他数据治理操作,请告诉我。


#### 6. Reject Message (Set Node)
- **类型**: Set Node
- **位置**: (920, 480)
- **功能**: 返回拒绝消息
- **消息内容**:

好的,已取消元数据管理操作。

还有其他需要帮助的吗?

  • 数据标准制定
  • 数据质量检查
  • 其他数据治理服务

    
    ## 工作流程图
    
    

┌─────────────────────┐ │ When chat message │ │ received │ │ (Manual Trigger) │ └──────────┬──────────┘

       │
       v

┌─────────────────────┐ │ Initial Message │ │ (显示欢迎信息) │ └──────────┬──────────┘

       │
       v

┌─────────────────────┐ │ Check User Response │ │ (判断用户回答) │ └──────┬──────────┬───┘

   │          │

是 │ │ 否

   v          v

┌─────────────┐ ┌──────────────┐ │Add Metadata │ │Reject Message│ │(调用API) │ │ (返回对话) │ └──────┬──────┘ └──────────────┘

   │
   v

┌─────────────┐ │Confirm Msg │ │(确认消息) │ └─────────────┘


## 数据流

### 输入数据格式

```json
{
  "user_response": "是"  // 或 "否"
}

输出数据格式

确认路径输出:

{
  "response": "好的!已为您发起元数据新增工作流程。\n\n操作结果:成功\n\n如需继续其他数据治理操作,请告诉我。"
}

拒绝路径输出:

{
  "response": "好的,已取消元数据管理操作。\n\n还有其他需要帮助的吗?\n- 数据标准制定\n- 数据质量检查\n- 其他数据治理服务"
}

配置说明

环境变量

工作流中使用的 API 端点:

  • DataOps API: http://localhost:5000
  • 元数据新增接口: /api/meta/add

时区设置

  • 时区: Asia/Shanghai (中国标准时间)

执行数据保存

  • 成功执行: 保存所有数据
  • 失败执行: 保存所有数据
  • 执行顺序: v1

使用方法

1. 激活工作流

在 n8n 界面中找到 "Data-governance" 工作流,点击激活按钮。

2. 测试工作流

  1. 点击 "Execute Workflow" 按钮
  2. 在弹出的对话框中输入用户响应
  3. 观察工作流执行结果

3. 集成到实际应用

方式 1: 使用 Webhook 触发

将 Manual Trigger 节点替换为 Webhook 节点:

{
  "type": "n8n-nodes-base.webhook",
  "parameters": {
    "httpMethod": "POST",
    "path": "data-governance-chat",
    "responseMode": "responseNode"
  }
}

方式 2: 使用 Chat Trigger

将 Manual Trigger 节点替换为 Chat Trigger 节点(需要 @n8n/n8n-nodes-langchain 包):

{
  "type": "@n8n/n8n-nodes-langchain.chatTrigger",
  "parameters": {
    "options": {
      "public": true,
      "welcomeMessage": "您好!我是数据治理助手..."
    }
  }
}

扩展建议

1. 添加 AI 智能理解

可以在 "Check User Response" 节点之前添加 AI 节点,使用 LLM 理解用户意图:

{
  "type": "@n8n/n8n-nodes-langchain.agent",
  "parameters": {
    "promptType": "define",
    "text": "判断用户是否确认进行元数据管理,返回 CONFIRM 或 REJECT"
  }
}

2. 支持更多数据治理功能

在拒绝分支添加 Switch 节点,根据用户选择执行不同的数据治理操作:

  • 数据标准制定
  • 数据质量检查
  • 数据标签管理

3. 添加数据验证

在调用 API 之前,添加数据验证节点,确保请求数据的完整性:

{
  "type": "n8n-nodes-base.function",
  "parameters": {
    "functionCode": "// 验证必填字段\nif (!$json.name_zh) {\n  throw new Error('元数据名称不能为空');\n}\nreturn $json;"
  }
}

4. 添加错误处理

为 HTTP Request 节点添加错误处理分支:

{
  "type": "n8n-nodes-base.if",
  "parameters": {
    "conditions": {
      "conditions": [{
        "leftValue": "={{ $json.code }}",
        "rightValue": 200,
        "operator": {"type": "number", "operation": "equals"}
      }]
    }
  }
}

故障排查

常见问题

  1. API 调用失败

    • 检查 DataOps 平台是否正常运行
    • 验证 API 端点 URL 是否正确
    • 查看 n8n 日志获取详细错误信息
  2. 用户响应未正确识别

    • 检查 IF 节点的条件配置
    • 确认 user_response 字段名称正确
    • 考虑使用不区分大小写的比较
  3. 消息格式问题

    • 检查 Set 节点中的表达式语法
    • 确认换行符 \n 正确显示

相关接口

DataOps 元数据新增接口

端点: POST /api/meta/add

请求参数:

{
  "name_zh": "元数据中文名称",
  "data_type": "数据类型",
  "description": "描述信息",
  "source": "数据来源"
}

响应格式:

{
  "code": 200,
  "data": {},
  "msg": "success"
}

版本历史

  • v1.0 (2025-11-04): 初始版本
    • 实现基本的对话流程
    • 支持确认/拒绝两种路径
    • 集成元数据新增 API

后续规划

  • 集成 LLM 提升对话理解能力
  • 支持更多数据治理操作
  • 添加用户会话管理
  • 实现多轮对话能力
  • 添加数据验证和错误处理
  • 支持批量操作

联系方式

如有问题或建议,请联系 DataOps 平台开发团队。