Nifi: как встроить вывод ExecuteStreamCommand в сообщение PutEmail - PullRequest
0 голосов
/ 29 марта 2020

У меня есть рабочий процесс Nifi, как показано

enter image description here

ExecuteStreamCommand выполняет сценарий Python и выдает результат STDOUT для очередь выходного потока

enter image description here

Затем я хочу встроить результат в тело письма, в котором я не знаю как, но само письмо отправлено без содержания в разделе тела. Ниже приведена конфигурация для моего PutEmail процессора.

enter image description here

Итак, я хочу знать, что это

  1. как встроить результат в тело письма.
  2. в случае ошибки перейдет в ненулевой статус ветку? И как я могу вставить ошибку в тело письма?

Заранее спасибо.

1 Ответ

0 голосов
/ 29 марта 2020
  1. вы можете определить тело через свойство message, однако вы можете построить его только из значений атрибутов. И вы можете прикрепить содержимое файла потока - используйте attach file = true
  2. для ненулевого статуса, ExecuteStreamCommand записывает содержимое атрибута файла потока stderr в execution.error, поэтому используйте его для построения тела сообщения

Подробнее об атрибутах ExecuteStreamCommand: https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.9.2/org.apache.nifi.processors.standard.ExecuteStreamCommand/

...