Я хочу обновить свою переменную processor_group через процессор. Даже ExecuteScript работает. Можно ли этого добиться?

1
Mallik 6 Дек 2018 в 17:12

2 ответа

Лучший ответ

Вы можете обновить реестр переменных только через REST API, точно так же, как это делает пользовательский интерфейс.

Это PUT в / process-groups / {id} / variable-registry:

https://nifi.apache.org/docs/nifi-docs/rest-api/index.html

3
Bryan Bende 6 Дек 2018 в 15:10

Просто как обновление этого ответа:

Вам нужен URL-адрес nifi (базовый узел nifi по умолчанию):

 http://[IP ADDRESS]:8080/nifi-api/

Полный URL-адрес API, необходимый для POST обновления атрибута:

 http://[IP ADDRESS]:8080/nifi-api/process-groups/[Process Group ID]/variable-registry/update-requests

Пример полезной нагрузки:

{"processGroupRevision":{"clientId":"c530ce77-0174-1000-fb36-93fa5e92e574","version":6},"disconnectedNodeAcknowledged":false,"variableRegistry":{"processGroupId":"c53cdaff-0174-1000-7922-5285dec53a94","variables":[{"variable":{"name":"authToken","value":"test3"}}]}}

Чтобы узнать больше о полезной нагрузке, выполните некоторую переменную работу в пользовательском интерфейсе NiFi и проследите за своими инструментами разработчика на предмет «запросов на обновление» и обратите внимание на [Process Group ID] и Payload.

2
DS Steven Matison 25 Сен 2020 в 13:35