Использование Node-RED более чем одной переменной среды в поле ввода - PullRequest
0 голосов
/ 16 января 2020

У меня есть простая проблема, и я не могу ее понять.

У меня есть подпоток, в котором я определил 3 переменные среды. Там у меня также есть узел http in. Что я хочу сделать, это установить поле URL узла следующим образом: ${some_var}/${other_var} Когда я использую одну переменную среды в поле URL, она работает нормально, но когда я делаю это, как в примере, это не работает. Я перепробовал много вещей, но не могу заставить его работать. Я также искал inte rnet около 2 часов и не могу ничего найти.

Может быть, что-то подобное не поддерживается Node-RED? Есть ли способ заставить это работать?

Ответы [ 2 ]

2 голосов
/ 16 января 2020

Документация по использованию переменных среды в Node-RED находится здесь: https://nodered.org/docs/user-guide/environment-variables (лучший результат поиска в Google).

Второе предложение гласит:

Это работает только в том случае, если оно заменяет все свойство - его нельзя использовать для замены только части значения. Например, невозможно использовать CLIENT-${HOST}.

Поскольку вы находитесь внутри подпотока, вы можете определить свойство подпотока, используя тип переменной среды - этот тип поддерживает присоединение к env vars все вместе. Затем вы можете использовать это свойство подпотока в качестве переменной env в вашем узле.

На следующем снимке экрана показано, как определить переменную env с именем MY_URL.

enter image description here

1 голос
/ 16 января 2020

Нет, вы не можете сделать это.

Вы не можете объединить переменные окружения в полях конфигурации узла. Среда выполнения будет принимать только значение переменной среды и заменять им все поле, а не собирать строку из нескольких переменных среды и строк c.

См. Второй абзац в документах . :

Это работает только в том случае, если оно заменяет все свойство - его нельзя использовать для замены только части значения. Например, невозможно использовать CLIENT - $ {HOST}.

...