n8n自动化工具部署与使用

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: n8n是一款开源的工作流自动化工具,类似于IFTTT。它的优点是开源、可以自托管、下载安装方便、易于使用,可以互联上百种服务。n8n基于节点能够将任何工具连接在一起,轻松部署不同类型的任务。它可以做很多事情,比如:从数据库中获取数据后下载为excel然后通过邮件发送给其他人。

 目录

介绍

部署

常用工具

连接数据库

发送网络请求

if

分批拆分:splitlnBatches

数据筛选set

后续


介绍

n8n是一款开源的工作流自动化工具,类似于IFTTT。它的优点是开源、可以自托管、下载安装方便、易于使用,可以互联上百种服务 。

n8n基于节点能够将任何工具连接在一起,轻松部署不同类型的任务。它可以做很多事情,比如:从数据库中获取数据后下载为excel然后通过邮件发送给其他人。

部署

因为安装比较麻烦,这里只演示使用docker

快速使用 docker run

docker run -it --rm --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n docker.n8n.io/n8nio/n8n

因为使用docker run 很容易丢失使用时的数据,推荐使用docker compose

这是官方文档,里面有携带MySQL pgsql等的docker compose

码头工人 |n8n 文档

但是一般我们本地都有安装这些东西,就没必要再在docker里安装一个了

这是只有n8n的docker compose,

version: '3.8'
volumes:
  db_storage:
  n8n_storage:
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - 5678:5678
    volumes:
      - n8n_storage:/home/node/.n8n
    command: /bin/sh -c "n8n start --tunnel"

image.gif

复制到本地的docker-compose.yml然后docker-compose up就可以了

http://localhost:5678/

打开我们的n8n页面,第一次登录注册账号密码

注册完后在此页面点击add workflow就可以来添加我们的工作流了

n8n使用1

image.gif

常用工具

点击右上角的+号

image.gif

选择需要的工具

连接数据库

image.gif

双击打开mysql,点击create new credentlal

image.gif

填写自己的mysql信息,进行数据库连接

image.gif

在operation这选择你要进行的操作,增、删、改、查

image.gif

发送网络请求

image.gif

使用HTTP Request这个组件可以发送网络请求,这里演示使用刚刚MySQL查询出来的数据进行发送请求

image.gif

设置HTTP请求参数,在数据库查询的数据id作为路径参数,body就是查出来的所有数据

image.gif

自己写一个api来接一下这些数据

image.gif

把body打印到控制台,可见请求是成功的image.gif

回到n8n这边,在OUTPUT看见,api程序返回的请求成功也接受到了

image.gif

if

image.gif

IF组件使用方法其实就相当于后端编写的if函数

如下,判断data中的数据是不是等于 “请求成功!”,然后将组件连接上一个http请求

image.gif

因为前面5个请求都成功了,所以五条数据都走true通道

image.gif

分批拆分:splitlnBatches

分批拆分,相当于一个for循环,可以设置把数据拆分成几份

添加一个splitlnBatches组件,设置batch size为1

image.gif

改造一下刚刚的request,连上wait,再使用splitlnBatches将他们套起来,wait是一个等候,相当于后端中的睡眠,这样就可以实现将数据一条一条发送,每条之间设置一个等候时间,如3秒发送一条,缓解服务器的压力

image.gif

数据筛选set

从数据中挑选出需要的数据,如,我们直接连接数据库,但是后续操作不需要这么多数据,只需要id和性别,就可以像我下面一样操作

image.gif

image.gif

后续

n8n中还有很多非常实用的功能,这里就不一 一介绍了,有时间的话后续会补充一下其他功能

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
26天前
|
机器人 测试技术 持续交付
现代软件测试中的自动化工具与策略
随着软件开发的快速发展,自动化测试成为提高软件质量和加快发布速度的关键。本文探讨了现代软件测试中自动化工具和策略的重要性及其应用,旨在帮助开发团队更有效地实施自动化测试,提升整体开发效率和产品质量。
|
7天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的办公自动化管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的办公自动化管理系统附带文章源码部署视频讲解等
12 0
|
7天前
|
Kubernetes 测试技术 持续交付
现代软件开发中的自动化工具与效率提升
在当今快节奏的软件开发环境中,自动化工具成为了提高效率和质量的关键。本文探讨了几种常见的自动化工具,并分析了它们在不同阶段和场景中的应用,展示了如何通过这些工具优化开发流程,加速项目交付。 【7月更文挑战第8天】
|
1月前
|
人工智能 搜索推荐 API
开源2.0|从事视频剪辑的“熬者们”,自动化剪辑工具 FunClip请收好
开源2.0|从事视频剪辑的“熬者们”,自动化剪辑工具 FunClip请收好
开源2.0|从事视频剪辑的“熬者们”,自动化剪辑工具 FunClip请收好
|
25天前
|
jenkins 测试技术 持续交付
软件测试的自动化:工具与策略的探索
【6月更文挑战第20天】探索软件测试自动化:强调效率、一致性与持续集成。Selenium、Appium、Postman和Jenkins等工具助力自动化测试,策略包括明确测试目标、选对工具、编写优质用例和持续集成。自动化测试优化软件质量,提升团队能力,适应快速发展的行业需求。
|
25天前
|
机器学习/深度学习 人工智能 机器人
现代软件测试中的自动化工具与技术
随着软件开发复杂性的增加,自动化测试在现代软件开发中变得至关重要。本文探讨了当前流行的自动化测试工具和技术,以及它们如何提高软件质量、加快发布速度和降低成本。
25 1
|
4天前
|
机器学习/深度学习 人工智能 Java
现代软件测试中的自动化工具与挑战
在当今快节奏的软件开发环境中,自动化测试工具发挥着越来越重要的作用。本文探讨了现代软件测试中自动化工具的关键作用、常见挑战以及应对策略。通过深入分析各种自动化工具在提高效率、减少成本和增强质量方面的优势,我们揭示了如何克服技术和组织上的障碍,实现软件测试的最佳实践。 【7月更文挑战第11天】
9 0
|
5天前
|
测试技术 Android开发 iOS开发
IOS手机自动化一些工具的简单有哪些?
IOS手机自动化一些工具的简单有哪些?
|
1月前
|
数据采集 Web App开发 前端开发
Selenium:自动化Web浏览器操作的强大工具
**Selenium** 是一款用于自动化Web应用测试和模拟用户行为的工具,支持多种浏览器和编程语言。安装包括安装Selenium库和对应浏览器的WebDriver。基本用法包括导入库、启动浏览器、查找与操作页面元素、等待元素加载及关闭浏览器。在实际项目中,Selenium常用于Web测试、爬虫、自动化表单填写等,优点是跨平台、模拟真实用户行为,但性能较低且依赖浏览器。
50 9
|
10天前
|
IDE Java 持续交付
Java中的代码质量检查与自动化工具
Java中的代码质量检查与自动化工具