PyCryptodome альтернатива для Jython - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь включить простой процессор шифрования для Apache Nifi.Я использую модуль Script Processor для включения скрипта Python, который выполняет функцию шифрования и дешифрования с помощью AES.У меня проблемы с загрузкой модуля PyCryptodome (я также пробовал pycrypto), который предлагал мне эту функциональность.Я читал, что этот модуль не может быть загружен, так как он не является чистым Python, который, по-видимому, не поддерживается Nifi.

Любое предложение о том, что я могу использовать в качестве альтернативы этому модулю?

1 Ответ

0 голосов
/ 27 февраля 2019

Дело не в том, что NiFi не поддерживает собственные модули Python как таковые, скорее это движок Jython, который мы используем в NiFi (поскольку NiFi - это чистая реализация Java), который не поддерживает его.Если у вас есть интерпретатор Python на узле (ах), на котором работает NiFi, вы можете использовать ExecuteStreamCommand для оболочки на Python, используя ваш скрипт (с собственным импортом), вы получите содержимое файла потока как stdin ивы бы написали свою логику шифрования / дешифрования для вывода в stdout, который стал бы содержимым файла исходящего потока.

Я смотрю на процессор Py4J, чтобы мы могли обойти ограничение Jython для nativeмодули, но вам все равно придется принести свой собственный Python (BYOP).На данный момент, если вы не хотите делать что-то более сложное, чем получение содержимого потокового файла и запись содержимого потокового файла, ExecuteStreamCommand должен выполнить свою задачу.

...