Amazon web services 是否可以在节点红色流中编辑配置节点?

Amazon web services 是否可以在节点红色流中编辑配置节点?,amazon-web-services,configuration,node-red,Amazon Web Services,Configuration,Node Red,在Node Red中,我使用一些Amazon Web服务节点(来自module Node Red Node aws),我想从文件中读取一些配置设置(例如,S3节点的访问密钥ID和密钥),但我找不到一种方法来动态设置所有内容,因为此配置必须在配置节点中进行,不能在流中使用 有没有办法在节点红色中执行此操作 谢谢 除非节点实现特别允许动态配置,否则node RED通常不会这样做 我见过的一种方法是在运行时使用ADMINRESTAPI进行流更新—请参阅 这要求您首先获取当前流配置,使用所需的值修改流定

在Node Red中,我使用一些Amazon Web服务节点(来自module Node Red Node aws),我想从文件中读取一些配置设置(例如,S3节点的访问密钥ID和密钥),但我找不到一种方法来动态设置所有内容,因为此配置必须在配置节点中进行,不能在流中使用

有没有办法在节点红色中执行此操作


谢谢

除非节点实现特别允许动态配置,否则node RED通常不会这样做

我见过的一种方法是在运行时使用ADMINRESTAPI进行流更新—请参阅

这要求您首先获取当前流配置,使用所需的值修改流定义,然后将其发回

这种方法并不适用于所有情况;配置节点仍然只有一个活动配置

另一种方法是,如果配置静态地保存在文件中,则在启动节点RED之前将它们插入到流配置中,即在将凭据插入的流中放置一个保存配置节点配置的位置


最后,您可以使用环境变量:如果您将配置节点的属性设置为类似于
$(MY\u AWS\u CREDS)
,则运行时将在启动时替换该环境变量。

除非节点实现特别允许动态配置,这不是Node RED通常所做的事情

我见过的一种方法是在运行时使用ADMINRESTAPI进行流更新—请参阅

这要求您首先获取当前流配置,使用所需的值修改流定义,然后将其发回

这种方法并不适用于所有情况;配置节点仍然只有一个活动配置

另一种方法是,如果配置静态地保存在文件中,则在启动节点RED之前将它们插入到流配置中,即在将凭据插入的流中放置一个保存配置节点配置的位置


最后,您可以使用环境变量:如果您将配置节点的属性设置为类似于
$(MY_AWS\u CREDS)
,则运行时将在启动时替换该环境变量。

您可以将package.json启动脚本更新为使用所需凭据作为环境变量启动节点红色:

"scripts": {
    "start": "AWS_SECRET_ACCESS_KEY=<SECRET_KEY> AWS_ACCESS_KEY_ID=<KEY_ID> ./node_modules/.bin/node-red -s ./settings.js"
}
“脚本”:{
“开始”:“AWS\u SECRET\u ACCESS\u KEY=AWS\u ACCESS\u KEY\u ID=./node\u modules/.bin/node red-s./settings.js”
}

当我使用
节点red contrib aws dynamodb
节点时,这非常适合我。只需将节点中的凭据保留为空,即可从您的环境变量中获取凭据。

您可以更新package.json启动脚本,以使用所需凭据作为环境变量启动节点RED:

"scripts": {
    "start": "AWS_SECRET_ACCESS_KEY=<SECRET_KEY> AWS_ACCESS_KEY_ID=<KEY_ID> ./node_modules/.bin/node-red -s ./settings.js"
}
“脚本”:{
“开始”:“AWS\u SECRET\u ACCESS\u KEY=AWS\u ACCESS\u KEY\u ID=./node\u modules/.bin/node red-s./settings.js”
}

当我使用
节点red contrib aws dynamodb
节点时,这非常适合我。只需将节点中的凭据留空,就可以从您的环境变量中获取凭据。

谢谢,我将对此进行实验,并告诉您在我的情况下是什么工作的!最后,我使用shell脚本从命令行配置和使用AWS服务,我认为这更容易设置,也更干净。无论如何,谢谢你的帮助!谢谢,我来试验一下,然后告诉你我的情况是什么!最后,我使用shell脚本从命令行配置和使用AWS服务,我认为这更容易设置,也更干净。无论如何,谢谢你的帮助!