n8n 内置节点介绍

n8n 的本质是一个基于节点的可视化工作流程自动化工具。通过将不同的节点连接起来,你可以创建各种自定义的工作流程,从而实现自动化操作。

一、节点类型

1. 节点操作 (Triggers and Actions)

节点是 n8n 工作流程的基本构建块,每个节点代表一个特定的操作。节点操作主要分为两类:

  • Triggers (触发器): 用于启动工作流程的节点,例如,当收到新邮件时触发。
  • Actions (动作): 用于执行特定任务的节点,例如,发送 HTTP 请求、读写数据库等。

2. 核心节点

n8n 预置了许多常用的核心节点,涵盖了各种常见的功能,例如:

  • HTTP Request: 发送 HTTP 请求到指定的 URL,可以用于与各种 API 进行交互。
  • Cron: 根据 cron 表达式定时执行工作流程,例如,每天早上 8 点发送提醒邮件。
  • Function: 执行自定义 JavaScript 代码,可以用于处理复杂逻辑。

3. 社区节点

除了核心节点,n8n 还拥有丰富的社区节点,由 n8n 社区开发者贡献,提供了更多更专业的节点功能。你可以在 n8n 官网的节点库中查找和安装社区节点。

4. 集群节点

对于需要高可用性和可扩展性的场景,n8n 支持部署为集群模式。集群节点可以分担工作负载,确保工作流程的稳定运行。

5. Credentials (凭证)

许多节点操作需要访问外部服务,例如数据库、API 等。Credentials 用于安全地存储和管理这些访问凭证,例如 API 密钥、用户名和密码等。

二、示例代码

以下示例展示了如何使用 n8n 创建一个简单的工作流程,该工作流程每天早上 8 点从 RSS 源获取最新的新闻标题,并将其发送到你的邮箱。

[
  {
    "id": "1",
    "type": "n8n-nodes-base.cron",
    "position": [100, 300],
    "data": {
      "name": "Every day at 8am",
      "cronExpression": "0 8 * * *"
    }
  },
  {
    "id": "2",
    "type": "n8n-nodes-base.httpRequest",
    "position": [300, 300],
    "data": {
      "name": "Get RSS Feed",
      "url": "https://example.com/rss.xml",
      "returnFullResponse": true
    }
  },
  {
    "id": "3",
    "type": "n8n-nodes-base.function",
    "position": [500, 300],
    "data": {
      "name": "Extract Titles",
      "code": "// Use a library like 'xml2js' to parse the RSS XML\n// and extract the titles of the news articles.\n"
    }
  },
  {
    "id": "4",
    "type": "n8n-nodes-base.email",
    "position": [700, 300],
    "data": {
      "name": "Send Email",
      "to": "your.email@example.com",
      "subject": "Latest News Headlines",
      "body": "{{ $json[\"titles\"].join(\"\\n\") }}"
    },
    "credentials": {
      "email": {
        "id": "your-email-credential-id"
      }
    }
  }
]

代码解释:

  1. Cron 节点 (ID: 1): 配置为每天早上 8 点触发工作流程。
  2. HTTP Request 节点 (ID: 2): 发送 HTTP 请求获取 RSS 源的数据。
  3. Function 节点 (ID: 3): 使用 JavaScript 代码解析 RSS XML 数据并提取新闻标题。
  4. Email 节点 (ID: 4): 将提取的新闻标题发送到你的邮箱。