工作流名称: Data-governance
工作流ID: rZK08l4aNUGgwmfO
状态: 未激活(inactive)
创建时间: 2025-11-04
这是一个基于 n8n 的数据治理对话工作流,通过交互式对话实现元数据管理功能:
消息内容:
您好!我是数据治理助手。
我可以帮助您:
- 进行元数据管理
- 数据标准制定
- 数据质量检查
请问您需要进行元数据管理吗?(请回答:是 或 否)
user_response 字段是否等于 "是"http://localhost:5000/api/meta/add请求体:
{
"name_zh": "新建元数据",
"data_type": "string",
"description": "通过工作流创建的元数据",
"source": "data-governance-workflow"
}
好的!已为您发起元数据新增工作流程。
操作结果:{{ $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 端点:
http://localhost:5000/api/meta/add在 n8n 界面中找到 "Data-governance" 工作流,点击激活按钮。
将 Manual Trigger 节点替换为 Webhook 节点:
{
"type": "n8n-nodes-base.webhook",
"parameters": {
"httpMethod": "POST",
"path": "data-governance-chat",
"responseMode": "responseNode"
}
}
将 Manual Trigger 节点替换为 Chat Trigger 节点(需要 @n8n/n8n-nodes-langchain 包):
{
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"parameters": {
"options": {
"public": true,
"welcomeMessage": "您好!我是数据治理助手..."
}
}
}
可以在 "Check User Response" 节点之前添加 AI 节点,使用 LLM 理解用户意图:
{
"type": "@n8n/n8n-nodes-langchain.agent",
"parameters": {
"promptType": "define",
"text": "判断用户是否确认进行元数据管理,返回 CONFIRM 或 REJECT"
}
}
在拒绝分支添加 Switch 节点,根据用户选择执行不同的数据治理操作:
在调用 API 之前,添加数据验证节点,确保请求数据的完整性:
{
"type": "n8n-nodes-base.function",
"parameters": {
"functionCode": "// 验证必填字段\nif (!$json.name_zh) {\n throw new Error('元数据名称不能为空');\n}\nreturn $json;"
}
}
为 HTTP Request 节点添加错误处理分支:
{
"type": "n8n-nodes-base.if",
"parameters": {
"conditions": {
"conditions": [{
"leftValue": "={{ $json.code }}",
"rightValue": 200,
"operator": {"type": "number", "operation": "equals"}
}]
}
}
}
API 调用失败
用户响应未正确识别
消息格式问题
\n 正确显示端点: POST /api/meta/add
请求参数:
{
"name_zh": "元数据中文名称",
"data_type": "数据类型",
"description": "描述信息",
"source": "数据来源"
}
响应格式:
{
"code": 200,
"data": {},
"msg": "success"
}
如有问题或建议,请联系 DataOps 平台开发团队。