Ссылка на переменные, определенные в пользовательских свойствах NiFi

Я пытаюсь автоматизировать развертывание конфигурации в моем кластере NiFi с помощью NiFi REST API. Я определил переменные как файл настраиваемых свойств: nifi.variable.registry.properties=./conf/dbconfig.properties

Содержание dbconfig.properties

dbuser=username
dbpass=password

Я пытаюсь ссылаться на эти переменные в файле конфигурации JSON как:

    {
      "name": "ConnectDB",
      "config": {
      "properties": {
      "Exchange Name": "",
      "Port": "8329",
      "User Name": "${dbuser}",
      "Password": "${dbpass}"
    },

Однако эти переменные реестра не обрабатываются во время развертывания. Конфигурация процессора


person Andrew thomas    schedule 11.01.2018    source источник
comment
но переменные реестра, подставляемые при запуске процессора, а не при создании.   -  person daggett    schedule 11.01.2018


Ответы (1)


Вы показали правильное поведение ...

Если бы вы делали это через пользовательский интерфейс, вы бы вводили $ {dbuser} и $ {dbpass} в качестве значений в процессорах. Затем процессор оценивает их во время выполнения, чтобы определить реальное значение.

Размещение через REST API должно быть таким же.

person Bryan Bende    schedule 11.01.2018
comment
О, я вижу. Спасибо за подтверждение поведения. Однако похоже, что процессор не принимает значения, определенные в dbconfig.properties, поскольку он показывает ошибку при подключении к базе данных. Нужно ли мне настраивать какую-либо конкретную конфигурацию процессора, чтобы это работало? например, включить язык выражения NiFi или что-то в этом роде? - person Andrew thomas; 12.01.2018
comment
Свойства должны поддерживать язык выражений, вы можете проверить документацию каждого процессора, чтобы узнать, какие из них поддерживают, и вам также необходимо перезапустить NiFi, если вы внесли изменения в любой из файлов, указанных в nifi.variable.registry.properties. - person Bryan Bende; 12.01.2018
comment
Мне пришлось перестроить свой собственный процессор, чтобы включить язык выражений. Спасибо за руководство, мне это очень помогло! - person Andrew thomas; 13.01.2018