n8n自动化工具部署与使用

目录

介绍

部署

常用工具

连接数据库

发送网络请求

 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"

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

http://localhost:5678/

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

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

n8n使用1

常用工具

 点击右上角的+号

n8n自动化工具部署与使用_第1张图片

 选择需要的工具

连接数据库

n8n自动化工具部署与使用_第2张图片

 双击打开mysql,点击create new credentlal

n8n自动化工具部署与使用_第3张图片

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

n8n自动化工具部署与使用_第4张图片

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

 n8n自动化工具部署与使用_第5张图片

发送网络请求

n8n自动化工具部署与使用_第6张图片

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

n8n自动化工具部署与使用_第7张图片

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

n8n自动化工具部署与使用_第8张图片

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

n8n自动化工具部署与使用_第9张图片

 把body打印到控制台,可见请求是成功的n8n自动化工具部署与使用_第10张图片

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

n8n自动化工具部署与使用_第11张图片

 if

n8n自动化工具部署与使用_第12张图片

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

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

n8n自动化工具部署与使用_第13张图片

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

n8n自动化工具部署与使用_第14张图片

分批拆分:splitlnBatches

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

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

n8n自动化工具部署与使用_第15张图片

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

n8n自动化工具部署与使用_第16张图片

 数据筛选set

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

n8n自动化工具部署与使用_第17张图片

n8n自动化工具部署与使用_第18张图片

 后续

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

你可能感兴趣的:(n8n,工作流)