首页 n8n教程 n8n工作流详解(附:构建工作流教程)

n8n工作流详解(附:构建工作流教程)

作者: Dr.n8n 更新时间:2025-10-21 09:57:14 分类:n8n教程

在构建智能自动化流程时,理解如何系统地构建和运行 n8n 工作流是至关重要的。本指南将从工程实践的角度,剖析一个基础工作流的搭建过程,涵盖关键的数据流、逻辑控制与外部集成机制,旨在帮助工程师建立起对 n8n 运行机制的深度理解。

tutorial-first

此快速入门推荐使用 n8n Cloud 环境,新用户可通过注册账户进行免费试用。核心学习目标包括:

  • 从零开始初始化一个工作流(Workflow)。
  • 掌握关键的工程概念与操作技巧,例如:
    • 利用触发器(Trigger Node)启动工作流的执行周期。
    • 配置并管理认证凭据(Credential)。
    • 进行数据处理与结构转换。
    • 在工作流中嵌入条件逻辑(Logic)。
    • 运用表达式(Expression)实现动态数据引用。

第一步:初始化工作流容器

在 n8n 界面中,创建新工作流是构建自动化任务的基础。这通常通过以下两种方式之一完成:

  • 如果系统显示欢迎界面,选择 从头开始 选项。
  • 若位于 工作流 列表的 概述 页面,则选择 创建工作流 按钮。

第二步:配置系统触发器节点

n8n 工作流的执行可以基于两种模式:手动触发(测试工作流)或自动化触发。自动化模式依赖于作为首个节点的触发器节点,该节点可响应外部事件或依据预设的时间表运行。

针对本案例,我们采用 计划触发器 节点,以实现周期性调度运行:

  1. 选择 添加第一步
  2. 搜索 Schedule 并选择 计划触发器 节点添加到画布。
  3. 在节点配置中,设定触发周期:
    • 触发间隔 设为
    • 触发间隔周数 设为 1
    • 时间配置示例:在 触发工作日 设为 星期一触发小时 设为 上午 9 点触发分钟 设为 0
  4. 关闭节点详细视图,返回画布。

第三步:集成 NASA API 与凭据管理

我们引入 NASA 节点 来与 NASA 的公共 API 进行数据交互,以获取实时的太阳事件(Solar Flare)数据。

凭据(Credential)机制

凭据是应用或服务为验证用户身份而颁发的私密认证信息,它构建了 n8n 节点与外部服务之间安全的数据共享通道。凭据类型因服务而异,其安全性管理至关重要。

  1. 点击 计划触发器 节点上的 添加节点 add-node-small 连接器。
  2. 搜索 NASA,并选择操作 获取 DONKI 太阳耀斑
  3. 配置 NASA API 访问凭据:
    1. 选择 NASA API 凭据 下拉菜单中的 创建新凭据
    2. 访问 NASA API 密钥生成页面,填写表单以获取 API Key。
    3. 将接收到的 API 密钥复制并粘贴到 n8n 凭据视图的 API 密钥 字段。
    4. 选择 保存 并关闭凭据屏幕。新的凭据应已自动关联到 NASA 节点。
  4. 配置数据查询范围(限制为过去 7 天):
    1. 选择 添加字段,并选择 开始日期
    2. 开始日期 旁切换到 表达式 选项卡,并打开完整的表达式编辑器 open-expression-editor
    3. 输入表达式以计算 7 天前的日期:
      {{ $today.minus(7, 'days') }} 
tutorial-date
n8n 的日期时间处理

n8n 内部采用 Luxon 库进行日期时间操作,并提供 $now$today 等便利变量。表达式在此处实现了动态日期计算。

  1. 选择 执行步骤 手动测试节点,验证 NASA API 调用是否成功返回过去七天的太阳耀斑数据。
  2. 关闭 NASA 节点。

第四步:引入条件逻辑控制(If 节点)

为实现对不同类型太阳耀斑的分类处理,我们将使用 If 节点 在工作流中创建分支逻辑。我们将根据太阳耀斑的 classType 属性,将高级别事件导向一个输出,低级别或未匹配事件导向另一个输出。

  1. 连接 NASA 节点If 节点
  2. 配置 If 节点以检查数据:
    1. 将前一节点输出中的 classType 属性拖入 值 1 字段。(注意:此步骤要求 NASA 节点已成功运行并有数据缓存。)
    2. 将比较操作设置为 String > Contains
    3. 值 2 中输入 X,代表最高分类的太阳耀斑。
    4. 执行 执行步骤 进行逻辑测试。OUTPUT 面板将显示匹配 True 或 False 的数据项。

    实时数据波动处理

    由于数据是实时获取,若测试期间没有 X 级耀斑,建议临时将 值 2 替换为 ABCM 等较低级别,以确保逻辑分支可以被激活和验证。

  3. 关闭 If 节点。

第五步:实现工作流数据输出(Postbin)

工作流的最终步骤是根据 If 节点的判断结果,发送两个不同的报告。本例中,我们使用 Postbin(一个接收并显示数据的临时服务)作为输出终点。

  1. 连接 If 节点的 true 输出到 PostBin 节点
  2. 在 Postbin 官网创建并复制一个 Bin ID,格式类似于 1651063625300-2016451240051
  3. 在 n8n 的 Postbin 节点中,将该 ID 粘贴到 Bin ID 字段。
  4. 配置 Bin 内容:切换到 表达式 选项卡,打开编辑器 open-expression-editor
  5. 构建输出消息,引用来自 If 节点的 classType 字段:
    There was a solar flare of class {{$json["classType"]}} 
tutorial-expression
  1. 关闭 Postbin 节点。
  2. 复制第一个 Postbin 节点,并将其连接到 If 节点的 false 输出路径,完成两个逻辑分支的输出配置。

第六步:工作流的系统级验证与部署

在所有组件配置完成后,需要进行系统级验证,并部署工作流以实现自动化运行。

  1. 点击 测试工作流 按钮,运行整个流程,观察每个节点的执行状态与数据流向。
  2. 返回 Postbin 页面,刷新以检查是否成功接收到符合逻辑判断的报告。
  3. 如需工作流按照预设的计划周期(每周)自动执行,必须通过 激活 开关进行激活部署。

外部服务时效性限制

Postbin 的 Bin ID 具有时效性(创建后约 30 分钟),若测试时间超出限制,需重新创建 Bin 并更新 Postbin 节点中的 ID。

系统总结与工程启示

至此,我们已构建并验证了一个完整、可自动运行的自动化流程。这一实践不仅提供了一个实用的太阳耀斑报告系统,更重要的是,它验证了 n8n 自动化框架中的几个核心机制:

  • 节点发现与连接:构建复杂数据管线的基本操作。
  • 表达式与数据操作:实现动态、上下文敏感的数据转换。
  • 凭据与安全:连接外部服务的认证管理机制。
  • 逻辑控制(If 节点):实现基于数据状态的分支处理能力。

下一步的工程优化方向,可以考虑将 Postbin 替换为更持久的通知机制(如邮件或企业IM),以提高报告系统的实用性。对于更深入的自动化架构研究,欢迎关注 Dr.n8n (drn8n.com) 的更多分享。