Node-RED: 在文件系统上存储数据
本文件是入门指南指南的一部分。您可以在这里查看完整指南:如何开始使用 Node-RED。
欢迎查阅 Stackhero 文档
Stackhero 提供全托管的 Node-RED cloud 环境,助您快速构建工作流:
- 内置 MQTT 服务器(Mosquitto),实现无缝 IoT 集成。
- 完全访问 Node-RED 管理界面,便于管理流程和设置。
- 包含 Node-RED Dashboard,支持实时可视化。
- 提供 专用 SMTP 邮件服务器,发送邮件无任何限制。
- 轻松实现 一键更新,让您的实例始终保持最新。
- 支持 自定义域名,自动配置 HTTPS:例如,https://node-red.your-company.com。
- 高 性能 与强大 安全性,基于专属私有基础设施。
您只需约 5 分钟即可拥有安全、可用于生产环境的 Node-RED cloud hosting 实例。Stackhero 负责部署、更新和基础设施管理,让您专注于自动化流程的开发。
Stackhero for Node-RED 提供本地存储,您的节点可以在其中存储文件。此存储位于 /persistent/storage/ 目录中。
警告 切勿将本地存储的目标设置为
/persistent/storage/的子目录以外的其他位置。 如果您使用其他目录,当您应用 Node-RED 更新时,您将丢失数据!
节点配置以存储本地数据
在此示例中,我们将使用 node-red-node-sqlite 节点。此节点需要一个目录来存储其数据。
您需要在 /persistent/storage/ 目录中定义一个文件,例如 /persistent/storage/myDatabase.sqlite。
Node-RED 上的 SQLite 配置示例
存储文件
如果您需要本地存储数据,可以将文件写入 /persistent/storage/ 目录。某些 Node-RED 数据可能已经存在于此目录中。为避免冲突,建议使用子目录,例如 /persistent/storage/myFlowData,来存储您的文件。
要使用 Node.js 创建此目录,请在您的节点中运行以下代码:
fs.mkdirSync('/persistent/storage/myFlowData', { recursive: true });
注意 如果您计划存储多个文件,我们建议使用对象存储服务器。对象存储服务器使通过 API 管理、共享和访问文件变得更容易,例如使用 S3 协议。考虑使用 Stackhero 上可用的 MinIO 服务,它可以在短短 2 分钟内为您提供一个兼容 S3 的对象存储服务器。