当前位置: 首页 > news >正文

#Datawhale 组队学习#8月-工作流自动化n8n入门-2

前面我们已经完成了Task1的学习,详情参见:#Datawhale 组队学习#8月-工作流自动化n8n入门-1-CSDN博客

接下来我们进入Task2:n8n平台基本概念与基础节点

1.n8n平台介绍

在前面我们已经学会了如何本地部署n8n,在docker里面运行,首次点开需要注册,注册的时候需要激活一下license,一切都ok后,我们可以通过浏览器进入Workflows-n8n的界面,基本界面如下所示:

我们先创建一个示例工作流,这里我们使用教程里面的案例,也就是下面的示例。

点击 Start from scratch,从头开始创建一个工作流,这里有两种方法可以导入:

  1. 复制示例工作流的代码,然后Ctrl+V;
  2. 拷贝示例工作流下方的链接,点击 n8n 系统右上方菜单点击Import from URL,粘贴链接。

节点是n8n的核心,n8n 节点分为 trigger 节点和 action 节点。trigger 节点用于启动工作流,而 action 节点用于执行任务。 n8n 内置了很多节点,包括核心节点、集群节点、三方集成节点,同时也支持用户安装社区节点或者开发 自定义节点。

2.n8n触发器节点

n8n 节点(nodes)是 n8n 的核心,它们是执行特定任务的小组件。每个节点代表一个操作,例如从数据 库中获取数据、发送 HTTP 请求或处理 JSON 数据。

n8n 节点分为 trigger 节点和 action 节点。trigger 节点用于启动工作流,而 action 节点用于执行任务。 n8n 内置了很多节点,包括核心节点、集群节点、三方集成节点,同时也支持用户安装社区节点或者开发自定义节点。

什么是触发器呢?

触发器(Trigger) 是一种机制,用于在特定事件或条件发生时自动启动某个流程、任务或动作。它是自动化系统中最核心的组件之一,相当于整个自动化流程的“开关”或“起点”。

任何工作流都需要一个 Trigger 节点作为起始节点,一个工作流可以有多个 Trigger 节点。

Manual Trigger 手动触发器

Manual Trigger 节点是最简单的 trigger 节点,它不需要任何输入,只需要点击执行按钮即可触发工作流。 Manual Trigger 节点通常用于测试工作流或者需要手动触发的工作流。

Schedule Trigger 定时触发器

Schedule Trigger 节点用于定时触发工作流,它支持多种定时策略,包括分钟间隔、小时间隔、天间隔等, 以及 Cron 类型的配置。

Webhook Trigger Webhook 触发器

Webhook Trigger 节点用于接收 HTTP 请求,从应用程序和服务接收数据触发工作流。
这里补充一些Webhook的基础知识。

Webhook基础:

Webhook 是一种基于 HTTP 的 事件驱动通信机制,允许一个应用程序在特定事件发生时,主动向另一个应用程序的指定 URL(称为 Webhook URL端点)发送 HTTP 请求(通常是 POST 请求),通知其事件的发生并传递相关数据。
这种机制常用于实现 系统间的实时通知、自动化操作和集成

 Webhook 与传统 API 的区别

特性Webhook传统 API
通信方向服务端主动推送客户端主动请求
实时性实时通知(事件驱动)依赖轮询频率,延迟较高
资源消耗低(仅在事件发生时触发)高(需要频繁查询)
实现复杂度较高(需要回调 URL 和事件处理)较低(标准 HTTP 请求)
适用场景实时通知、自动化操作、事件驱动数据查询、CRUD 操作

Chat Trigger 聊天触发器

聊天触发器的使用场景为聊天机器人或者其他对话形式的交互工作流。在工作流中添加 On chat message节点来使用该触发器。聊天触发器需要连接 Agent 节点或者集群节点。

一个简单的实例如下图所示:

3.n8n核心节点

接下来我们继续看一下其他的节点。除了触发器节点,n8n 还包含许多核心节点,这些节点可以执行各种任务。本章节介绍相关的核心节点,包括 数据处理节点、控制流节点、HTTP 请求节点等。

Data transformation 数据处理节点

Edit Fields 变量赋值节点

使用 Edit Fields 来给工作流中的数据赋值。该节点可以更改已有的数据,或者添加新的数据。

该节点可以选择两种变量赋值模式:手动映射 Manual Mapping,和 JSON 输出模式。

Split Out 数据拆分节点

Split Out 节点用于将包含数组字段的数据拆分为多个部分。Include配置项作用为您希望 n8n 如何在每个新单独项中保留输入数据中的其他字段。

  • No Other Fields: 不包含其他字段
  • All Other Fields: 包含所有其他字段
  • Selected Other Fields: 指定包含的字段

控制流节点

控制流节点用于控制流程的执行,包括条件判断、循环、分支等。选择Flow大类,可以看到控制流节点。

本节主要介绍其中的 If 和 Merge 以及 Loop 节点。

If 条件判断节点

If 节点用于根据比较操作有条件地拆分工作流程。不同的数据类型支持不同的比较操作,常见的数据类型 如StringNumberBooleanArrayObject等。If 节点还支持添加多个条件判断, 对于所有的条件,支持选择ANDOR两种逻辑运算符,表示所有条件必须满足或者满足任意一个条件。

Merge 数据合并节点

Merge 节点用于将多个数据项合并为一个数据项。该节点可以合并来自多个节点的数据,该节点会等待所有 上游节点数据可用后执行。Merge 节点典型的应用场景如合并获取的多个网页内容然后提交至 AI 节点进行 总结。

Loop 循环节点

默认情况下,n8n 节点设计为循环处理输入项列表,所以一般情况下通常在工作流中不需要循环节点。 但一些特殊情况下,如节点只处理输入项列表中的第一个值(如 RSS 节点),此时可以使用 Loop 节点。

HTTP 请求节点

HTTP 请求节点是 n8n 中最灵活的节点之一。它允许您进行 HTTP 请求,以从任何具有 REST API 的 应用程序或服务中查询数据。您可以将 HTTP 请求节点用作常规节点或附加到 AI Agent 节点以作为工具 使用。

HTTP 请求节点支持常见的 HTTP 相关的各项配置项,如请求方法、请求 URL、认证、请求头、请求体等。

4.n8n中的代码

n8n 是一个低代码平台,意味着大部分时候可以通过拖拽节点来创建工作流,而不需要编写代码。 n8n 也支持通过代码来扩展工作流的功能。

n8n 中的代码在两个地方使用,一个是"代码节点",另一个在表达式中。表达式只支持 JavaScript, 代码节点则支持 JavaScript 及 Python 语言。

Expressions 表达式

Expressions 表达式是 n8n 中最常用的代码形式,被实现在 n8n 所有的节点中,用于处理数据或者引用 变量。通过表达式,工作流节点的配置参数可以基于前序节点的输出、工作流的元信息、以及环境变量来动态 生成。

Code 节点

Code 节点允许用户编写 JavaScript 或 Python 代码来处理数据。Code 节点有两种运行模式,

  1. Run Once for All Items:默认模式,所有输入数据会作为数组传递给代码,代码只执行一次
  2. Run Once for Each Item:针对每个输入的数据项都运行代码

n8n 内置了一些函数与变量,可以方便的在代码中使用,JavaScript 以及 Python 使用不同 的命名方式进行变量获取,JavaScript 使用$前缀来引用内部变量,Python 使用_前缀。 

http://www.dtcms.com/a/344517.html

相关文章:

  • 基于51单片机的超声波液位检测OLED显示设计
  • MySQL InnoDB表空间深度解析:从原理到性能优化
  • Seaborn数据可视化实战:Seaborn与Plotly交互式图表入门
  • 图像处理中的伪影
  • ASPICE过程能力确定——度量框架
  • 美国对华科技政策思路变化:产业影响与投资逻辑解析
  • C/C++三方库移植到HarmonyOS平台详细教程
  • 2025年推理大模型有哪些以及优势对比
  • C++函数重载与引用详解
  • 线段树01
  • 合同差异智能比对,有效规避“阴阳合同”
  • 白名单过滤的文件上传如何bypass:boot2root靶机之fristileaks
  • 基于 SkyWalking + Elasticsearch + Grafana 的可落地调用链监控方案
  • 易混淆的CommonJS和ESM(ES Module)及它们区别
  • 工控/医疗设备没有连接网络,贝锐向日葵Q1破解远程运维难题
  • 【ElasticSearch】IK分词器安装,配置修改,支持新增词组,中文常用mapping使用案例
  • Python 中 SQLAlchemy 和 MySQLdb 的关系
  • MongoDB 分片集群把非分片集合转成分片集合
  • MySQL 错误码
  • Flutter Provider 详解:从状态管理痛点到实战落地
  • Linux权限详解
  • 电子基石:硬件工程师的器件手册 (十三) - 电源管理IC:能量供给的艺术
  • 使用html+css+javascript练习项目布局--创建导航栏
  • 高并发场景数据与一致性的简单思考
  • 理解音频响度:LUFS 标准及其计算实现
  • 在灵码中配置MCP服务
  • Basic Threejs (2)
  • Unity中国小游戏行业沙龙:抖音小游戏平台分析与规划
  • Excel处理控件Aspose.Cells教程:使用Python将 Excel 转换为 NumPy
  • AWS OpenSearch 是什么