如何在Nifi的虚拟环境中运行一个有依赖关系的python脚本?

在Nifi中有没有办法运行一个从不同文件夹导入模块、在pipfile中指定需求并有参数传递的python脚本?

简而言之,如何用Nifi执行一个平时在我的虚拟环境中运行的python脚本?

我的最终目标是使用Get File来获取一个文件,然后把它发布到API。我试过执行进程,执行流命令处理器。

解决方案:

要使用Python对flowfile进行后续处理,你可以使用 ExecuteStreamCommandExecuteScriptInvokeScriptedProcessor 处理机。

ExecuteStreamCommand 处理器将运行一个外部shell命令,如 python3 my_python_script.py -arg1 string -arg2 213,它可以包装自定义的Python代码并使用 STDIN 传递现有的流文件内容和 STDOUT 来捕获新的流文件内容。填充 命令参数命令路径 处理器的属性来定位您的 python 可执行文件并提供 CLI 参数,包括通过 NiFi 表达式语言提供的 flowfile 属性。参见 本回答 为例。

ExecuteScript 处理器在与NiFi相同的JVM中运行Jython代码(Python但不访问本地库,只兼容Python 2.7,以及其他一些由于JSR-223的限制)。你可以直接用Python代码处理流文件的属性和内容。请看 本回答本回答 更多细节。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

有没有办法用两个微比特测试micropython代码?

2022-5-14 4:00:06

解决方案

PHP+AJAX:如何阻止javascript在发送存储数据时摆脱操作符?[重复]

2022-5-14 4:00:11

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索