使用n8n构建可视化工作流,实现自动化一切

本文详细介绍了如何使用n8n平台构建可视化工作流,包括本地Docker部署、定时任务配置、HTTP API调用和邮件自动发送,实现从获取笑话到自动邮件的完整自动化流程。

使用n8n构建可视化工作流并实现自动化一切

你好开发者们, 作为一名主要使用JavaScript的全栈开发者,我经常构建内部工具和数据管道。在发现n8n之前,我发现自己编写了大量样板Node.js代码来连接API和数据库。 这篇博客既是我的个人参考,也是为任何想要认真对待工作流自动化的人提供的共享指南。

本地安装和运行n8n

使用Docker运行n8n是在本地设置的最简单和最一致的方式。它保持环境隔离、可重现且生产就绪。无需担心系统依赖项。但它也提供SaaS版本:https://app.n8n.cloud/login

docker-compose.yml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
services:
  n8n:
    image: docker.n8n.io/n8n.io/n8n
    container_name: my-n8n-workflow
    restart: always
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
      - N8N_SECURE_COOKIE=false
    volumes:
      - ./n8n_data:/home/node/.n8n

.env

1
GENERIC_TIMEZONE=Asia/Colombo

注意:n8n_data文件夹可能存在用户所有权问题。从容器运行的文件夹运行以下命令:

1
$ sudo chown -R 1000:1000 ./n8n_data

现在执行compose up:

1
$ docker-compose up -d

如果一切顺利,n8n应该在http://localhost:5678上运行。填写用户注册创建账户,然后填写调查(目前)进入仪表板。

n8n UI和核心概念

构建真实世界的工作流

为了理解触发器、API调用、数据转换和外部服务如何在n8n中协同工作,让我们构建一个简单的真实世界工作流。

用例: 使用Resend每5分钟向您的邮箱发送一个随机笑话

工作流: [Cron节点] → [获取笑话(HTTP请求)] → [发送邮件(Resend HTTP请求)]

步骤1:创建新工作流

  • 打开n8n编辑器
  • 点击"New Workflow"并命名,例如:发送笑话到邮箱

步骤2:添加Cron触发器

  • 点击"+“添加节点
  • 搜索Schedule Trigger并选择Schedule Trigger节点
  • 配置为每5分钟运行一次,持续运行

步骤3:通过HTTP请求获取笑话

这将返回类似这样的JSON:

1
2
3
{
  "joke": "我曾经在法庭上丢了一个香蕉,但后来我提出了上诉。"
}

步骤4:使用Resend通过邮件发送笑话

现在使用Resend的邮件API将笑话发送到邮箱。需要创建Resend账户和API密钥。 https://resend.com

配置邮件节点: 由于n8n没有原生的Resend节点,再次使用HTTP请求。

  • 点击”+“添加节点
  • 选择HTTP Request
  • 配置:

URL: https://api.resend.com/emails 方法: POST Headers:

  • Authorization: Bearer RESEND_API_KEY
  • Content-Type: application/json

发送正文:

1
2
3
4
5
6
{
  "from": "Jokes <onboarding@resend.dev>",
  "to": "dilum.dar@gmail.com",
  "subject": "这是你的笑话",
  "text": "{{$json.joke}}"
}

现在一切准备就绪进行测试。整个工作流看起来像这样:

通过点击"Execute Workflow"手动运行工作流。应该会收到带有笑话的邮件 :) 如果工作正常,点击"Activate"使其每5分钟自动运行。

最终思考

无论您是自动化日常任务、集成多个服务还是构建自己的AI管道——n8n都为您提供了代码的灵活性和可视化编辑器的简单性。

这只是一个开始。 干杯….

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计