在 PutFile 之后执行 Python 脚本(Apache - NiFi)

Execute Python Script After PutFile (Apache - NiFi)

我正在尝试做一些我认为应该相对简单的事情,但我正在努力概念化如何执行此过程。

在高层次上,我只是将一个 zip 文件解压到一个目录中。完成后,我需要执行 python 脚本。

我遇到的问题是我无法确定实现此目标的最佳方法。我假设 Notify/Wait 将是答案,但是设置释放信号标识符并且仅在放置所有流文件时才释放,似乎不可能?我也尝试过使用类似属性的 MergeContent,但我只想要一个合并的流文件,而且我无法将最小条目数 = 设置为 ${fragment.count}。请参阅下面的任何可能有用的屏幕截图。谢谢。

如果您使用 UnpackContent,所有解压缩的流文件都会获得片段标识符、索引和计数属性 - 请参阅文档的写入属性部分。

如果您想将所有这些收集到一个 FlowFile 中,您可以使用 MergeContentMerge StrategyDefragment。这将获取由 UnpackContent 创建的所有 FlowFiles 并将它们合并到一个 FlowFile - 它将按 identifier 分组并等待直到它看到每个 index 直到 count -因此,如果生成了 16 个 FlowFile,它将把所有 16 个合并为 1 个。

您可以使用单个 FlowFile 来触发您的脚本。