在 PutFile 之后执行 Python 脚本(Apache - NiFi)
Execute Python Script After PutFile (Apache - NiFi)
我正在尝试做一些我认为应该相对简单的事情,但我正在努力概念化如何执行此过程。
在高层次上,我只是将一个 zip 文件解压到一个目录中。完成后,我需要执行 python 脚本。
我遇到的问题是我无法确定实现此目标的最佳方法。我假设 Notify/Wait 将是答案,但是设置释放信号标识符并且仅在放置所有流文件时才释放,似乎不可能?我也尝试过使用类似属性的 MergeContent,但我只想要一个合并的流文件,而且我无法将最小条目数 = 设置为 ${fragment.count}。请参阅下面的任何可能有用的屏幕截图。谢谢。
如果您使用 UnpackContent,所有解压缩的流文件都会获得片段标识符、索引和计数属性 - 请参阅文档的写入属性部分。
如果您想将所有这些收集到一个 FlowFile 中,您可以使用 MergeContent 和 Merge Strategy
的 Defragment
。这将获取由 UnpackContent 创建的所有 FlowFiles 并将它们合并到一个 FlowFile - 它将按 identifier
分组并等待直到它看到每个 index
直到 count
-因此,如果生成了 16 个 FlowFile,它将把所有 16 个合并为 1 个。
您可以使用单个 FlowFile 来触发您的脚本。
我正在尝试做一些我认为应该相对简单的事情,但我正在努力概念化如何执行此过程。
在高层次上,我只是将一个 zip 文件解压到一个目录中。完成后,我需要执行 python 脚本。
我遇到的问题是我无法确定实现此目标的最佳方法。我假设 Notify/Wait 将是答案,但是设置释放信号标识符并且仅在放置所有流文件时才释放,似乎不可能?我也尝试过使用类似属性的 MergeContent,但我只想要一个合并的流文件,而且我无法将最小条目数 = 设置为 ${fragment.count}。请参阅下面的任何可能有用的屏幕截图。谢谢。
如果您使用 UnpackContent,所有解压缩的流文件都会获得片段标识符、索引和计数属性 - 请参阅文档的写入属性部分。
如果您想将所有这些收集到一个 FlowFile 中,您可以使用 MergeContent 和 Merge Strategy
的 Defragment
。这将获取由 UnpackContent 创建的所有 FlowFiles 并将它们合并到一个 FlowFile - 它将按 identifier
分组并等待直到它看到每个 index
直到 count
-因此,如果生成了 16 个 FlowFile,它将把所有 16 个合并为 1 个。
您可以使用单个 FlowFile 来触发您的脚本。