alicloud-oss-2

Alicloud OSS node for n8n

Package Information

Downloads: 3 weekly / 58 monthly
Latest Version: 0.0.4
Author: jason_dx

Documentation

n8n 阿里云 OSS 节点

Contributors
Forks
Stargazers
Issues
MIT License


Logo

n8n 阿里云 OSS 节点

为 n8n 工作流提供阿里云对象存储服务集成
查看详细文档 »

演示 · 报告Bug · 功能请求

目录

关于项目

这是一个专为 n8n 工作流自动化平台开发的社区节点,提供了完整的阿里云 OSS(对象存储服务)集成功能。

阿里云 OSS 是一种安全、经济高效且高度可靠的云存储服务,支持存储和访问任意数量的数据。通过此节点,你可以在 n8n 工作流中无缝集成文件上传、下载、管理等功能。

核心功能

  • 🚀 高性能文件操作:基于官方 ali-oss SDK,提供稳定可靠的文件操作
  • 📁 完整的 CRUD 支持:支持文件上传、下载、列表查询和删除操作
  • 🔐 安全认证:支持 Access Key 和自定义终端节点配置
  • 📊 批量操作:支持前缀过滤的批量对象管理
  • 🎯 易于集成:符合 n8n 标准,开箱即用
  • 🌐 多区域支持:支持阿里云所有 OSS 区域

技术栈

  • n8n 框架n8n-workflow
  • 阿里云 SDKali-oss
  • 开发语言:TypeScript
  • 构建工具:Gulp + TypeScript
  • 代码规范:ESLint + Prettier

快速开始

环境要求

  • n8n 版本:>= 1.0.0
  • Node.js 版本:>= 20.15
  • 阿里云账户:需要有效的 Access Key 和 OSS 存储桶

安装步骤

  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 存储桶删除指定对象 文件清理、存储空间管理

操作详细说明

📤 上传操作

  • 对象键:文件在 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 文件夹下的文件)
  • 返回数量:最多返回 1000 个对象
// 输出示例
{
  "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


相关资源

Discussion