Не удается загрузить модуль Python ldap3 в процессор ExecuteScript - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь запустить скрипт Python в процессоре NiFi ExecuteScript.Этот сценарий использует библиотеку ldap3 из: https://pypi.org/project/ldap3/. Я знаю, что процессор работает с Jython, и что я не могу использовать скомпилированный код, .so файлы и т. Д., Но я заметил, чтобиблиотека утверждает, что:

Строго соответствующая RFC 4510 клиентская библиотека Python для чистого Python V3

Я определил путь к папке, содержащей библиотеку, в процессоре СВОЙСТВА вкладка, используя

Script Engine    : python
Script File      : /mnt/path_to_my_scripts/run.py
Script Body      :
Module Directory : /mnt/path_to_my_libs

... где папка библиотеки ldap3:

/mnt/path_to_my_libs/ldap3

Когда я запускаю процессор, я получаю следующее сообщение об ошибке:

16: 17: 32 GMT - server.my.domain: 9091 - ОШИБКА ExecuteScript [id = xxxx] Не удалось обработать сеанс из-за org.apache.nifi.processor.exception.ProcessException: javax.lang.NoClassDefFoundError: org / scijava / jython / затененный / javax / xml / bind / DatatypeConverter находится в строке номер 5: javax.script.ScriptException: javax.lang.NoClassDefFoundError: java.lang.NoClassijror: joCr / jedge scound/ javax / XML / связывания / DatatypeConverter в строке № 5

Конечно, строка № 5 в тексте:

import ldap3

У меня успешно работают другие сценарии, которые не используйте ldap3.

...