我正在尝试为Apache Nifi整合一个简单的加密处理器。我正在使用脚本处理器模块包含一个Python脚本,该脚本执行使用AES加密和解密的功能。我无法加载模块PyCryptodome(我也尝试过pycrypto),它提供了我的功能。我已经读过这个模块无法加载,因为它不是纯粹的python,显然,Nifi不支持。
有什么建议我可以用什么作为这个模块的替代品?
并不是NiFi本身不支持本机Python模块,而是我们在NiFi中使用的Jython引擎(因为NiFi是纯Java实现),它不支持它。如果您在运行NiFi的节点上有Python解释器,您可以使用ExecuteStreamCommand
使用您的脚本(使用本机导入)来发布Python,您将获得流文件的内容为stdin
并且您将编写你的加密/解密逻辑输出到stdout
,它将成为传出流文件的内容。
我正在研究一个Py4J处理器,所以我们可以绕过Jython对本机模块的限制,但你仍然需要自带Python(BYOP)。就目前而言,只要您不想做任何比接收流文件内容和写出流文件内容更复杂的事情,ExecuteStreamCommand就应该这样做。