Skip to content

n8n 界面详解与常用节点介绍

在前面的文章中,我们已经创建了第一个工作流。今天我们来深入了解 n8n 的界面功能和各种节点类型,这些是构建复杂工作流的基础。

界面功能详解

工作流画布

缩放和导航

  • 鼠标滚轮:缩放画布
  • 拖拽空白区域:移动视图
  • 右下角小地图:快速导航大型工作流

节点操作

  • 单击节点:选中并显示配置面板
  • 双击节点:快速编辑节点名称
  • 拖拽节点:移动位置
  • 删除键:删除选中的节点

连接操作

  • 拖拽节点右侧的圆点:创建连接
  • 点击连接线:选中连接
  • 删除键:删除选中的连接

顶部工具栏

执行控制

  • Execute Workflow:手动执行整个工作流
  • Execute Node:只执行选中的节点
  • Stop Execution:停止正在执行的工作流

工作流管理

  • Save:保存工作流
  • Settings:工作流设置(名称、描述、标签等)
  • Share:分享工作流给其他用户

视图控制

  • Zoom to Fit:自动调整缩放以显示整个工作流
  • Zoom 100%:重置为默认缩放级别

左侧节点面板

节点按类型分组,可以通过搜索快速找到需要的节点:

搜索技巧

  • 按名称搜索:直接输入节点名
  • 按功能搜索:输入相关关键词
  • 按服务搜索:输入第三方服务名称

右侧配置面板

节点配置

  • Parameters:节点的主要配置参数
  • Settings:节点的高级设置
  • Notes:为节点添加说明文档

执行数据

  • Input:查看节点接收到的数据
  • Output:查看节点输出的数据
  • JSON:以 JSON 格式查看数据

核心节点类型

触发器节点(Triggers)

触发器决定了工作流何时开始执行。

Manual Trigger

  • 用途:手动触发工作流
  • 场景:测试、一次性任务
  • 配置:无需配置,点击即可触发

Cron Trigger

  • 用途:定时触发工作流
  • 场景:定期任务、报告生成
  • 配置示例:
    0 9 * * 1-5  # 工作日早上9点
    0 */2 * * *  # 每2小时
    0 0 1 * *    # 每月1号

Webhook Trigger

  • 用途:通过 HTTP 请求触发
  • 场景:接收外部系统通知
  • 配置:设置 HTTP 方法和路径

Email Trigger

  • 用途:收到邮件时触发
  • 场景:邮件自动处理
  • 配置:邮箱连接信息和过滤条件

数据处理节点

Set Node

  • 用途:设置或修改数据
  • 常用操作:
    • 添加新字段
    • 修改现有字段
    • 删除不需要的字段

配置示例:

json
{
  "values": {
    "string": [
      {
        "name": "status",
        "value": "processed"
      }
    ],
    "number": [
      {
        "name": "priority",
        "value": 1
      }
    ]
  }
}

Code Node

  • 用途:执行自定义 JavaScript 代码
  • 场景:复杂数据处理、业务逻辑
  • 可用对象:
    • items:输入数据数组
    • $node:当前节点信息
    • $workflow:工作流信息

代码示例:

javascript
// 处理多个数据项
const processedItems = items.map(item => {
  const data = item.json;
  
  // 数据转换逻辑
  return {
    json: {
      ...data,
      processedAt: new Date().toISOString(),
      isValid: data.email && data.email.includes('@')
    }
  };
});

return processedItems;

Function Node

  • 用途:简单的数据转换
  • 与 Code Node 的区别:更轻量,适合简单操作
  • 示例:格式化日期、字符串处理

Split In Batches

  • 用途:将大量数据分批处理
  • 场景:避免 API 限制、提高性能
  • 配置:批次大小、处理间隔

条件控制节点

IF Node

  • 用途:根据条件分支执行
  • 支持的条件类型:
    • 字符串比较
    • 数字比较
    • 布尔值判断
    • 正则表达式匹配

配置示例:

json
{
  "conditions": {
    "string": [
      {
        "value1": "={{ $json.status }}",
        "operation": "equal",
        "value2": "active"
      }
    ]
  }
}

Switch Node

  • 用途:多条件分支
  • 场景:根据不同值执行不同操作
  • 支持:数字、字符串、正则表达式匹配

Merge Node

  • 用途:合并多个数据流
  • 模式:
    • Append:追加数据
    • Pass-through:等待所有输入
    • Wait:等待指定数量的输入

通信节点

HTTP Request

  • 用途:调用 REST API
  • 支持方法:GET、POST、PUT、DELETE 等
  • 认证方式:Basic Auth、Bearer Token、OAuth

配置示例:

json
{
  "method": "POST",
  "url": "https://api.example.com/users",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer {{ $json.token }}"
  },
  "body": {
    "name": "{{ $json.name }}",
    "email": "{{ $json.email }}"
  }
}

Email Send

  • 用途:发送邮件
  • 支持:HTML 内容、附件、抄送
  • 配置:SMTP 服务器信息

Slack

  • 用途:发送 Slack 消息
  • 功能:发送消息、上传文件、更新状态
  • 认证:OAuth 或 Bot Token

数据存储节点

Google Sheets

  • 用途:读写 Google 表格
  • 操作:读取、写入、更新、删除行
  • 认证:Google OAuth

MySQL/PostgreSQL

  • 用途:数据库操作
  • 支持:查询、插入、更新、删除
  • 配置:连接字符串、SQL 语句

Redis

  • 用途:缓存操作
  • 操作:GET、SET、DELETE、EXISTS
  • 场景:临时数据存储、会话管理

节点配置技巧

使用表达式

n8n 支持在配置中使用表达式引用数据:

基本语法

javascript
{{ $json.fieldName }}          // 引用当前数据的字段
{{ $node["Node Name"].json }}  // 引用指定节点的数据
{{ $now }}                     // 当前时间
{{ $workflow.id }}             // 工作流 ID

常用函数

javascript
{{ $json.name.toLowerCase() }}     // 字符串转小写
{{ $json.price * 1.1 }}           // 数学运算
{{ $json.date.toDate() }}         // 日期转换
{{ $json.items.length }}          // 数组长度

错误处理

Continue On Fail

  • 启用后,节点执行失败不会中断工作流
  • 适用于可选操作或需要容错的场景

Retry On Fail

  • 设置重试次数和间隔
  • 适用于网络请求等可能临时失败的操作

节点设置优化

Always Output Data

  • 即使节点没有输出数据也会传递输入数据
  • 用于保持数据流的连续性

Execute Once

  • 即使接收到多个输入项,也只执行一次
  • 适用于初始化操作

调试和测试

查看执行数据

  1. 执行工作流后,点击节点查看数据
  2. 使用 JSON 视图查看完整数据结构
  3. 检查数据类型和格式

使用 Console 节点

临时添加 Console 节点输出调试信息:

javascript
console.log('Debug info:', $json);
return items;

分步测试

  1. 先测试单个节点
  2. 逐步连接更多节点
  3. 确保每一步的数据流正确

小结

掌握 n8n 的界面和节点是构建复杂工作流的基础。主要要点:

  1. 界面操作:熟练使用画布、工具栏和配置面板
  2. 节点分类:理解触发器、处理、控制、通信等不同类型
  3. 表达式语法:学会引用数据和使用函数
  4. 错误处理:合理设置重试和容错机制
  5. 调试技巧:善用数据查看和分步测试

下一篇文章,我们将深入学习触发器的各种类型和使用场景,这是构建自动化工作流的关键环节。

记住,熟练掌握这些基础知识需要大量练习。建议你创建一些简单的测试工作流,尝试不同的节点组合,这样能更好地理解每个节点的特点和用法。