如何在Nifi中引用环境变量?

Moh*_*mni 0 apache-nifi

我想在我的Nifi处理器中引用一个环境变量(一个Linux环境变量)。我尝试通过${MY_VARIABLE_NAME}直接在处理器属性中进行引用来使用表达式语言。但这似乎不起作用。这有可能吗?如果是,该怎么办?

谢谢您的建议。

Jam*_*mes 5

您可以按照自己的描述在NiFi表达式语言中引用环境变量。如果它不起作用,则可能需要检查以下几件事:

  • 处理器属性支持表达式语言
  • 为NiFi流程定义了环境变量(尝试${USER}${PATH}对比)
  • EL评估中没有其他同名属性优先于环境变量

《 NiFi表达式语言指南》中的“ NiFi表达式的结构”中简要讨论了转义:

例如,以下内容可用于转义名为“ my attribute”的属性:${"my attribute"}${'my attribute'}

在此示例中,要返回的值是“我的属性”值(如果存在)的值。如果该属性不存在,则表达式语言将查找名为“我的属性”的系统环境变量。如果找不到它,它将查找名为“ my attribute”的JVM系统属性。最后,如果这些都不存在,则表达式语言将返回空值。

  • 您可能想看看有关[NiFi变量注册表](https://cwiki.apache.org/confluence/display/NIFI/Variable+Registry)的提案,该提案旨在提供动态和安全的变量访问。 (2认同)