2017-06-27 46 views
0

在Node-Red中,我使用了一些亞馬遜網絡服務節點(來自模塊節點 - 紅節點 - aws),並且我想從文件中讀取一些配置設置(例如,訪問密鑰ID &密鑰爲S3的節點),但我不能找到一種方法來動態地設置一切,因爲該構造具有在配置節點,不能在流動被用來製成。是否可以在Node-Red流中編輯配置節點?

有沒有辦法在節點紅做到這一點?

謝謝!

回答

1

除非節點實現專門允許進行動態配置,否則這不是Node-RED一般所做的事情。我見過

一種方法是使用管理REST API到運行時有流更新本身 - 見https://nodered.org/docs/api/admin/methods/post/flows/

這需要你先得到當前的流動配置,所需的值修改流程定義然後發回。

這種方法並不適合於所有情況;配置節點仍然只有一個活動配置。

如果配置靜態地保存在文件中,另一種方法是在啓動Node-RED之前將它們插入到流配置中 - 即在將流量插入憑據的流中具有佔位配置節點配置。

最後,您可以使用環境變量:如果將配置節點的屬性設置爲$(MY_AWS_CREDS),那麼運行時將在啓動時替換該環境變量。使用node-red-contrib-aws-dynamodb節點時

"scripts": { 
    "start": "AWS_SECRET_ACCESS_KEY=<SECRET_KEY> AWS_ACCESS_KEY_ID=<KEY_ID> ./node_modules/.bin/node-red -s ./settings.js" 
} 

這個工作非常適合我:

+0

謝謝,我會試驗這個,並告訴你什麼在我的情況下工作! – LeChocdesGitans

+0

最後,我最終使用shell腳本來從命令行配置和使用AWS服務,這樣設置起來更容易,而且我認爲也更清潔。還是要謝謝你的幫助! – LeChocdesGitans

0

您可以更新您的package.json啓動腳本與所需的憑據啓動節點-RED爲環境變量。只需將節點中的憑證留空即可,並從環境變量中獲取。

相關問題