Description
n8n 阿里云 OSS 节点
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]
n8n 阿里云 OSS 节点
为 n8n 工作流提供阿里云对象存储服务集成
查看详细文档 »
目录
- n8n 阿里云 OSS 节点
- 🚀 高性能文件操作:基于官方 ali-oss SDK,提供稳定可靠的文件操作
- 📁 完整的 CRUD 支持:支持文件上传、下载、列表查询和删除操作
- 🔐 安全认证:支持 Access Key 和自定义终端节点配置
- 📊 批量操作:支持前缀过滤的批量对象管理
- 🎯 易于集成:符合 n8n 标准,开箱即用
- 🌐 多区域支持:支持阿里云所有 OSS 区域
- n8n 框架:n8n-workflow
- 阿里云 SDK:ali-oss
- 开发语言:TypeScript
- 构建工具:Gulp + TypeScript
- 代码规范:ESLint + Prettier
- n8n 版本:>= 1.0.0
- Node.js 版本:>= 20.15
- 阿里云账户:需要有效的 Access Key 和 OSS 存储桶
– 目录
– 关于项目
– 核心功能
– 技术栈
– 快速开始
– 环境要求
– 安装步骤
– 项目结构
– 使用指南
– 配置凭据
– 支持的操作
– 操作详细说明
– 使用示例
– 开发命令
– 构建和开发
– 代码质量
– 发布
– 部署选项
– 本地开发环境
– 生产环境部署
– 配置参数
– 凭据配置
– 节点参数
– 兼容性
– 开发贡献
– 许可证
– 联系方式
关于项目
这是一个专为 n8n 工作流自动化平台开发的社区节点,提供了完整的阿里云 OSS(对象存储服务)集成功能。
阿里云 OSS 是一种安全、经济高效且高度可靠的云存储服务,支持存储和访问任意数量的数据。通过此节点,你可以在 n8n 工作流中无缝集成文件上传、下载、管理等功能。
核心功能
技术栈
快速开始
环境要求
安装步骤
1. 通过 n8n 社区节点安装
按照 n8n 社区节点安装指南 进行操作。
2. 通过 npm 安装
npm install n8n-nodes-alicloud-oss
3. 重启 n8n 服务
# 如果使用 npm 安装的 n8n
n8n start
# 如果使用 Docker
docker restart n8n
4. 验证安装
在 n8n 编辑器中搜索 “Alicloud OSS” 节点,应该能看到新增的节点。
项目结构
├── /nodes/ # n8n 节点实现
│ └── /AlicloudOss/ # 阿里云 OSS 节点
│ ├── AlicloudOss.node.ts # 主节点实现
│ └── alicloud-oss.logo.svg # 节点图标
├── /credentials/ # 凭据定义
│ └── AlicloudOssCredentialsApi.credentials.ts # 凭据配置
├── /dist/ # 编译输出目录
├── .eslintrc.js # ESLint 配置
├── .prettierrc.js # Prettier 配置
├── gulpfile.js # Gulp 构建配置
├── package.json # 项目依赖和脚本
├── tsconfig.json # TypeScript 配置
└── README.md # 项目文档
使用指南
配置凭据
在使用节点之前,需要配置阿里云 OSS 凭据:
1. 获取阿里云凭据:
– 登录 阿里云控制台
– 创建或获取 Access Key ID 和 Access Key Secret
– 创建 OSS 存储桶并记录区域信息
2. 在 n8n 中配置凭据:
| 字段名 | 描述 | 必填 | 示例值 |
|——————|—————————————-|——|—————————|
| Access Key ID | 阿里云 Access Key ID | ✅ | LTAI4G* |
| Access Key Secret| 阿里云 Access Key Secret | ✅ | 3yX9* |
| 区域 | OSS 服务区域 | ✅ | oss-cn-hangzhou |
| 存储桶 | OSS 存储桶名称 | ✅ | my-bucket |
| 终端节点 | 自定义 OSS 终端节点(可选) | ❌ | oss-cn-hangzhou.aliyuncs.com |
支持的操作
| 操作 | 描述 | 用途场景 |
|————|————————————|—————————–|
| 上传 | 将文件上传到 OSS 存储桶 | 文件备份、数据存储 |
| 下载 | 从 OSS 存储桶下载文件 | 文件获取、数据处理 |
| 列出对象 | 列出存储桶中的对象(支持前缀过滤) | 文件管理、批量处理 |
| 删除 | 从 OSS 存储桶删除指定对象 | 文件清理、存储空间管理 |
操作详细说明
#### 📤 上传操作
documents/report.pdf)data)// 输入示例
{
"data": {
"filename": "report.pdf",
"data": "binary file data"
}
}
#### 📥 下载操作
data)// 输出示例
{
"data": {
"filename": "report.pdf",
"data": "binary file data",
"mimeType": "application/pdf"
}
}
#### 📋 列出对象操作
images/ 列出 images 文件夹下的文件)// 输出示例
{
"objects": [
{
"name": "documents/report.pdf",
"size": 1024,
"lastModified": "2023-12-01T10:00:00.000Z"
}
]
}
#### 🗑️ 删除操作
// 输出示例
{
"deleted": true,
"objectKey": "documents/report.pdf"
}
使用示例
场景一:文档自动备份
HTTP请求节点 → 文件处理 → Alicloud OSS上传 → 通知发送
场景二:批量文件处理
Alicloud OSS列出对象 → 循环处理 → Alicloud OSS下载 → 数据处理 → Alicloud OSS上传
场景三:定时清理任务
定时触发 → Alicloud OSS列出对象 → 条件判断 → Alicloud OSS删除
开发命令
构建和开发
npm run build – 完整构建(TypeScript 编译 + 图标复制)npm run dev – 开发模式,TypeScript 监听模式npm run format – 使用 Prettier 格式化代码npm run lint – 运行 ESLint 检查npm run lintfix – 自动修复 ESLint 问题代码质量
npm run prepublishOnly – 发布前检查(构建 + lint)npm run publicPublish – 发布到 npm(公开访问)发布
发布新版本
npm version patch|minor|major
npm run publicPublish
部署选项
本地开发环境
1. 克隆项目
git clone https://github.com/felix-liuyj/n8n-nodes-alicloud-oss.git
cd n8n-nodes-alicloud-oss
2. 安装依赖
npm install
3. 开发模式
npm run dev
4. 链接到本地 n8n
# 创建全局链接
npm link
# 在 n8n 项目中链接
cd /path/to/n8n
npm link n8n-nodes-alicloud-oss
生产环境部署
1. 通过 npm 安装
npm install n8n-nodes-alicloud-oss
2. Docker 环境中安装
FROM n8nio/n8n:latest
RUN npm install n8n-nodes-alicloud-oss
3. 通过 n8n 社区节点管理器
– 在 n8n 界面中安装社区节点
– 搜索 “n8n-nodes-alicloud-oss”
– 点击安装并重启 n8n
配置参数
凭据配置
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|—————–|———|——|—————————|——————————-|
| accessKeyId | string | ✅ | 阿里云 Access Key ID | LTAI4G* |
| accessKeySecret | string | ✅ | 阿里云 Access Key Secret | 3yX9* |
| region | string | ✅ | OSS 服务区域 | oss-cn-hangzhou |
| bucket | string | ✅ | OSS 存储桶名称 | my-bucket |
| endpoint | string | ❌ | 自定义 OSS 终端节点 | oss-cn-hangzhou.aliyuncs.com |
节点参数
#### 上传操作
| 参数名 | 类型 | 必填 | 描述 | 默认值 |
|—————|———|——|————————-|——–|
| objectKey | string | ✅ | 对象键(文件路径) | – |
| binaryProperty| string | ❌ | 二进制数据属性名 | data |
#### 下载操作
| 参数名 | 类型 | 必填 | 描述 | 默认值 |
|—————|———|——|————————-|——–|
| objectKey | string | ✅ | 对象键(文件路径) | – |
| binaryProperty| string | ❌ | 输出二进制数据属性名 | data |
#### 列出对象操作
| 参数名 | 类型 | 必填 | 描述 | 默认值 |
|———-|———|——|—————————–|——–|
| prefix | string | ❌ | 对象前缀过滤器 | – |
#### 删除操作
| 参数名 | 类型 | 必填 | 描述 | 默认值 |
|———-|———|——|————————-|——–|
| objectKey| string | ✅ | 要删除的对象键(文件路径) | – |
兼容性
| 环境要求 | 最低版本 | 推荐版本 | 测试版本 |
|—————|————|————|————-|
| n8n | 1.0.0 | 最新版本 | 1.x |
| Node.js | 20.15 | 20.x LTS | 20.15+ |
| TypeScript | 5.0 | 5.8+ | 5.8.2 |
开发贡献
欢迎参与项目开发!请遵循以下步骤:
1. Fork 项目
2. 创建功能分支 (git checkout -b feature/AmazingFeature)
3. 提交更改 (git commit -m 'Add some AmazingFeature')
4. 推送到分支 (git push origin feature/AmazingFeature)
5. 创建 Pull Request
开发环境搭建:
克隆项目
git clone https://github.com/felix-liuyj/n8n-nodes-alicloud-oss.git
cd n8n-nodes-alicloud-oss安装依赖
npm install开发模式
npm run dev构建项目
npm run build代码检查
npm run lint
许可证
本项目基于 MIT 许可证开源。详细信息请查看 LICENSE.md 文件。
联系方式
作者:Felix Liu (Cambria Tech)
邮箱:felixliuyj@gmail.com
项目链接:https://github.com/felix-liuyj/n8n-nodes-alicloud-oss
—
相关资源:
[contributors-shield]: https://img.shields.io/github/contributors/felix-liuyj/n8n-nodes-alicloud-oss.svg?style=flat-square
[contributors-url]: https://github.com/felix-liuyj/n8n-nodes-alicloud-oss/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/felix-liuyj/n8n-nodes-alicloud-oss.svg?style=flat-square
[forks-url]: https://github.com/felix-liuyj/n8n-nodes-alicloud-oss/network/members
[stars-shield]: https://img.shields.io/github/stars/felix-liuyj/n8n-nodes-alicloud-oss.svg?style=flat-square
[stars-url]: https://github.com/felix-liuyj/n8n-nodes-alicloud-oss/stargazers
[issues-shield]: https://img.shields.io/github/issues/felix-liuyj/n8n-nodes-alicloud-oss.svg?style=flat-square
[issues-url]: https://github.com/felix-liuyj/n8n-nodes-alicloud-oss/issues
[license-shield]: https://img.shields.io/github/license/felix-liuyj/n8n-nodes-alicloud-oss.svg?style=flat-square
[license-url]: https://github.com/felix-liuyj/n8n-nodes-alicloud-oss/blob/master/LICENSE.md