NIFI получает доступ к идентификатору заявки на контент с помощью Groovy - PullRequest
0 голосов
/ 07 марта 2019

Мне нужно генерировать уникальный идентификатор каждый раз, когда запускается мой процесс.Мой процесс начинается с процессора GetSFTP.

Я думал об использовании для этой цели Идентификатора контента Flowfile.

Как получить доступ к этому с помощью Groovy?Заранее спасибо!

Файл потока

1 Ответ

2 голосов
/ 07 марта 2019

В общем, вы можете зависеть от уникальности атрибута uuid потока файла. Каждый потоковый файл в системе генерирует это при создании, поэтому потоковые файлы, поступающие из GetSFTP, будут иметь этот атрибут заполненным и уникальным. Чтобы получить доступ к атрибуту uuid из Groovy (в скрипте или пользовательском процессоре), используйте код flowfile.uuid или flowfile.getAttribute('uuid').

Идентификатор заявки на контент определенно не уникален - это ссылка на конкретное местоположение в файловой системе (или другом носителе, если он настроен) со ссылкой на байты контента потокового файла. Многие потоковые файлы могут иметь один и тот же идентификатор заявки на контент.

Вы также можете сгенерировать уникальный идентификатор с помощью функции UUID() в Apache NiFi Expression Language и поместить его в атрибут или контент по мере необходимости, используя интерполяцию (т.е. ${UUID()}).

...