外部存储#
功能可用性
- 仅适用于自托管企业版计划
- 如需在云企业版上使用此功能,请联系 n8n
n8n 可以将工作流执行产生的二进制数据存储在外部。此功能有助于避免依赖文件系统存储大量二进制数据。
n8n 未来将为其他数据类型引入外部存储功能。
在 S3 中存储 n8n 的二进制数据#
n8n 支持使用 AWS S3 作为工作流执行产生的二进制数据的外部存储。您也可以使用其他 S3 兼容服务如 Cloudflare R2 和 Backblaze B2,但 n8n 不官方支持这些服务。
企业级功能
使用外部存储需要企业许可证密钥。如果您的许可证密钥过期且仍处于 S3 模式,实例将能够从 S3 存储桶读取数据,但无法写入。
配置指南#
按照 AWS 文档 创建并配置存储桶。您可以使用以下策略,将 <bucket-name>
替换为您创建的存储桶名称:
1 2 3 4 5 6 7 8 9 10 11 |
|
设置存储桶级别的生命周期配置,以便 S3 自动删除旧的二进制数据。n8n 将二进制数据的清理委托给 S3,因此除非您希望永久保留二进制数据,否则必须设置生命周期配置。
完成存储桶创建后,您将获得以下信息: - 主机地址 - 存储桶名称和区域 - 访问密钥 ID 和秘密访问密钥
您需要在 n8n 环境中设置这些变量:
1 2 3 4 5 |
|
无区域要求
如果您的提供商不需要指定区域,可以将 N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION
设置为 'auto'
。
配置 n8n 将二进制数据存储在 S3 中:
1 2 |
|
自动认证检测
要自动检测用于 S3 调用的凭证,请将 N8N_EXTERNAL_STORAGE_S3_AUTH_AUTO_DETECT
设置为 true
。这将使用默认的 凭证提供链。
重启服务器以加载新配置。
使用方法#
启用 S3 后,n8n 会将所有新的二进制数据读写到 S3 存储桶中。n8n 会按照以下格式将二进制数据写入您的 S3 存储桶:
1 |
|
如果 filesystem
仍列在 N8N_AVAILABLE_BINARY_DATA_MODES
选项中,n8n 会继续从文件系统中读取之前存储的二进制数据。
如果您将二进制数据存储在 S3 中,之后又切换回文件系统模式,只要 s3
仍列在 N8N_AVAILABLE_BINARY_DATA_MODES
中且您的 S3 凭证仍然有效,实例将继续读取存储在 S3 中的数据。
/// 注意 | 二进制数据修剪 二进制数据修剪基于当前激活的二进制数据模式运行。例如,如果您的实例之前将数据存储在 S3 中,之后切换到了文件系统模式,n8n 只会修剪文件系统中的二进制数据。此行为在未来可能会有所改变。 ///