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:添加"定时触发"节点(设置启动时间)
-
点击左侧「+」→ 搜索"Cron"→ 添加"Cron"节点(定时触发节点);
-
配置参数:
- Cron Expression:输入
0 7 * * *(表示每天7点执行,Cron语法可在线生成); - Time Zone:选择"Asia/Shanghai"(北京时间);
- 点击「Execute Node」测试,节点变绿表示配置正常。
步骤2:添加"HTTP Request"节点(调用天气API)
-
点击"Cron"节点右侧的「+」→ 搜索"HTTP Request"→ 添加节点;
-
配置API请求参数:
- Method:选择"GET";
- URL:输入高德天气API地址,替换「你的密钥」和「城市ID」(城市ID可在高德平台查询):
https://restapi.amap.com/v3/weather/weatherInfo?key=你的密钥&city=110100&extensions=base; - 其他参数默认,点击「Execute Node」测试;
- 测试成功后,在节点下方「Output」可看到JSON格式的天气数据,确认包含temperature、weather等字段。
步骤3:添加"Set"节点(处理数据,保留核心字段)
-
点击"HTTP Request"节点右侧的「+」→ 搜索"Set"→ 添加节点;
-
配置数据处理规则:
- 选择"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"] }};
- 执行测试,确认输出数据只保留这3个核心字段。
步骤4:添加"企业微信机器人"节点(发送提醒)
-
点击"Set"节点右侧的「+」→ 搜索"Feishu"(企业微信节点在"Feishu"分类下)→ 添加"Feishu Bot"节点;
-
配置Webhook:粘贴之前获取的企业微信机器人Webhook地址;
-
配置消息内容:选择"Text"类型,输入消息模板,引用Set节点的字段:
【今日天气提醒】\n城市:{``{ $node["Set"].json["city"] }}\n温度:{``{ $node["Set"].json["temperature"] }}℃\n天气:{``{ $node["Set"].json["weather"] }}; -
点击「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),告诉我需要调整的细节,我会优化对应的配置步骤。