n8n实战营Day1课时2:核心概念拆解+天气提醒工作流实操

n8n实战营Day1课时2:核心概念拆解+天气提醒工作流实操

上一节我们搞定了n8n的环境部署,这一节将深入n8n的"内功心法"------拆解核心组件的关联逻辑、搞懂数据流转的底层规则,最后通过"定时发送天气提醒"的实操案例,把理论直接转化为实用技能。无论你是技术小白还是刚接触n8n的开发者,这节内容都能帮你夯实基础,避免后续踩"逻辑混乱""数据传丢"的坑。

一、核心组件拆解:节点、连接、工作流、触发器的关联逻辑

n8n的核心优势是"可视化拖拽",但背后的组件关联逻辑才是高效搭建的关键。这四个组件不是孤立的,而是"容器-起点-执行-链路"的完整闭环,我们用一张关系图先理清它们的定位:
触发后传递数据 执行后传递数据 定向传输数据 工作流(自动化容器) 包含1个触发器(启动开关) 包含N个节点(执行单元) 包含N-1个连接(数据链路)

1.1 组件详解:从"是什么"到"怎么用"

  • 工作流:自动化的"容器"

    相当于一个"项目文件",所有的节点、连接、触发器都包含在工作流内。实际使用中建议按"场景命名"(如"每日天气提醒-企业微信"),方便后续管理。每个工作流独立运行,支持启用/禁用、版本备份,企业级场景中还能设置权限归属。

  • 触发器:工作流的"启动开关"

    是工作流的唯一起点,负责触发整个流程的执行,核心分为两类:

    ① 主动触发:定时触发(如每天7点执行)、手动触发(测试时常用);

    ② 被动触发:Webhook触发(如表单提交后触发)、事件触发(如数据库新增数据后触发)。

    新手常踩坑:一个工作流只能有一个触发器,避免出现"多起点混乱"。

  • 节点:自动化的"执行单元"

    是实现具体功能的核心,n8n内置500+节点,覆盖API调用、数据处理、通知推送等场景,按功能可分为:

  • 集成节点:对接第三方服务(如企业微信、MySQL、高德地图API);

  • 工具节点:处理数据(如格式转换、筛选、提取字段);

  • 逻辑节点:控制流程(如条件分支、循环)。

    节点的核心是"输入-处理-输出":接收上一环节数据,按配置处理后,传递给下一节点。

  • 连接:数据流转的"高速公路"

    用鼠标拖拽节点间的箭头就是建立连接,它的核心作用是"定义数据传递的方向和规则"。默认情况下,连接会传递上一节点的全部输出数据,也可手动配置"字段映射"(只传递需要的字段,减少数据冗余)。

1.2 核心逻辑:四组件如何协同工作?

举个通俗的例子:把工作流比作"快递分拣系统",触发器是"快递车到岗提醒",节点是"称重、扫码、分区"的分拣设备,连接是"设备间的传送带"。整个流程是:快递车到岗(触发器触发)→ 称重设备处理(第一个节点)→ 传送带送往下一环节(连接传数据)→ 扫码设备处理(第二个节点)→ ... → 完成分拣(工作流结束)。

二、数据流转规则:JSON格式+节点间传递技巧

n8n中所有数据都以JSON格式流转,搞懂JSON的结构和数据引用技巧,是避免"数据传丢""字段错误"的关键。这部分看似抽象,结合案例理解后会非常简单。

2.1 基础:n8n中的JSON数据结构

JSON是"键值对"形式的数据格式,n8n的节点输出数据都会包含在data数组中,举个天气数据的示例:

json 复制代码
{
  "executionId": "abc123", // 执行ID,自动生成
  "data": {
    "resultData": {
      "runData": {
        "HTTP Request": [ // 节点名称
          {
            "data": [ // 节点输出的数据数组
              {
                "city": "北京", // 城市字段
                "temperature": 25, // 温度字段
                "weather": "晴", // 天气状况字段
                "wind": "3-4级" // 风力字段
              }
            ]
          }
        ]
      }
    }
  }
}

核心观察:每个节点的输出数据,都会以"节点名称"为键,存放在runData中,后续节点引用时需要定位到这个路径。

2.2 核心:节点间数据传递的3个技巧

上一节点输出JSON数据 技巧1:引用全部数据 技巧2:引用指定字段 技巧3:过滤无用字段 适用场景:需保留所有数据 适用场景:仅需部分字段 适用场景:减少数据冗余 下一节点接收数据

  • 技巧1:引用全部数据(默认行为)

    节点间建立连接后,默认会传递上一节点的全部输出数据,无需额外配置。适合简单场景,比如"获取天气数据后直接转发"。

  • 技巧2:引用指定字段(高频使用)

    当只需要部分数据时,用{``{ $node["节点名称"].json["字段名"] }}的格式引用,比如要引用"HTTP Request"节点的温度字段,写法是:{``{ $node["HTTP Request"].json["temperature"] }}

    新手避坑:节点名称要和实际配置一致,比如节点改名为"获取天气",引用时就要写{``{ $node["获取天气"].json["temperature"] }}

  • 技巧3:用Set节点过滤字段

    当数据字段过多时,可在中间加一个"Set"节点,只保留需要的字段。配置时选择"仅保留指定字段",输入要保留的字段名(如city、temperature),后续节点就只会接收过滤后的数据,避免干扰。

三、实操:10分钟搭建"定时发送天气提醒"工作流

结合上面的概念和规则,我们实战搭建一个实用工作流:每天7点调用天气API获取数据,处理后通过企业微信发送提醒。全程可视化操作,新手也能快速上手。

3.1 准备工作

  • 1个可正常访问的n8n环境(本地或云部署均可);

  • 1个高德地图API密钥(免费申请:登录高德开放平台→创建应用→添加"天气查询"API→获取密钥);

  • 企业微信机器人Webhook地址(用于发送提醒,在企业微信群→添加机器人→获取Webhook)。

3.2 分步搭建:4个节点完成全流程

步骤1:添加"定时触发"节点(设置启动时间)
  1. 点击左侧「+」→ 搜索"Cron"→ 添加"Cron"节点(定时触发节点);

  2. 配置参数:

  • Cron Expression:输入0 7 * * *(表示每天7点执行,Cron语法可在线生成);
  • Time Zone:选择"Asia/Shanghai"(北京时间);
  1. 点击「Execute Node」测试,节点变绿表示配置正常。
步骤2:添加"HTTP Request"节点(调用天气API)
  1. 点击"Cron"节点右侧的「+」→ 搜索"HTTP Request"→ 添加节点;

  2. 配置API请求参数:

  • Method:选择"GET";
  • URL:输入高德天气API地址,替换「你的密钥」和「城市ID」(城市ID可在高德平台查询):
    https://restapi.amap.com/v3/weather/weatherInfo?key=你的密钥&city=110100&extensions=base
  • 其他参数默认,点击「Execute Node」测试;
  1. 测试成功后,在节点下方「Output」可看到JSON格式的天气数据,确认包含temperature、weather等字段。
步骤3:添加"Set"节点(处理数据,保留核心字段)
  1. 点击"HTTP Request"节点右侧的「+」→ 搜索"Set"→ 添加节点;

  2. 配置数据处理规则:

  • 选择"Keep Only Specified Fields"(仅保留指定字段);
  • 点击「Add Field」,依次添加字段:
    ① 字段名"city",值引用:{``{ $node["HTTP Request"].json["lives"][0]["city"] }}
    ② 字段名"temperature",值引用:{``{ $node["HTTP Request"].json["lives"][0]["temperature"] }}
    ③ 字段名"weather",值引用:{``{ $node["HTTP Request"].json["lives"][0]["weather"] }}
  1. 执行测试,确认输出数据只保留这3个核心字段。
步骤4:添加"企业微信机器人"节点(发送提醒)
  1. 点击"Set"节点右侧的「+」→ 搜索"Feishu"(企业微信节点在"Feishu"分类下)→ 添加"Feishu Bot"节点;

  2. 配置Webhook:粘贴之前获取的企业微信机器人Webhook地址;

  3. 配置消息内容:选择"Text"类型,输入消息模板,引用Set节点的字段:
    【今日天气提醒】\n城市:{``{ $node["Set"].json["city"] }}\n温度:{``{ $node["Set"].json["temperature"] }}℃\n天气:{``{ $node["Set"].json["weather"] }}

  4. 点击「Execute Node」测试,企业微信群会收到天气提醒,工作流搭建完成!

3.3 避坑重点复盘

复制代码
    1. API密钥错误:若HTTP Request节点报错,先检查密钥是否正确,是否添加了"天气查询"API权限;
    2. 字段引用错误:若消息中字段为空,检查Set节点的引用路径是否和API输出的JSON结构一致(比如高德天气的城市字段在lives数组中,需加[0]定位);
    3. 定时不执行:确认Cron节点的时区是北京时间,执行时间格式是否正确。

四、核心总结与下节预告

4.1 核心知识点

  • 1个闭环逻辑:工作流(容器)→ 触发器(起点)→ 节点(执行)→ 连接(传数据);

  • 1种数据格式:JSON是n8n数据流转的核心,节点输出存放在runData中;

  • 1个实用技巧:用{``{ $node["节点名"].json["字段名"] }}引用指定数据,结合Set节点过滤字段。

4.2 下节预告

Day1课时3我们将聚焦"高频节点深度解析",深入讲解HTTP请求、数据过滤等节点的高级用法,带你搭建"表单提交后自动同步数据至Excel"的工作流,进一步强化数据处理能力。

如果在实操中遇到API调用、字段引用等问题,欢迎在评论区留言,我会第一时间回复解答~

这篇博文兼顾了理论深度与实操落地,结构图和代码块能帮助读者快速理解。你可以根据实际培训的API选择(比如不用高德用其他天气API),告诉我需要调整的细节,我会优化对应的配置步骤。

相关推荐
帮帮志1 小时前
【AI大模型对话】流式输出和非流式输出的定义和区别
开发语言·人工智能·python·大模型·anaconda
jquerybootstrap1 小时前
大地2000转经纬度坐标
linux·开发语言·python
邹小邹-AI1 小时前
未来是AI客服的天下
人工智能
小小8程序员1 小时前
C# XAML中x:Type的用法详解
开发语言·ui·c#
非凡的世界1 小时前
Webman 可能是 PHP 最强框架没有之一
开发语言·php·workman
Q***f6351 小时前
Rust在嵌入式中的功耗优化
开发语言·后端·rust
H***99761 小时前
Rust包管理策略
开发语言·后端·rust
冴羽1 小时前
Nano Banana Pro 很强,但你要学会写提示词才能为所欲为
人工智能·aigc·mcp