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 配置示例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 兼容的對象存儲伺服器。