NiFi - 选择要执行的队列

NiFi - Choose Queue to execute

假设您在 NiFi 流程中有一个 ExecuteScript 处理器。 此处理器有 2 个传入队列。

有没有办法选择从哪个 Queue session.get() 中提取流文件?

谢谢。

无法通过 API 直接识别流文件来自哪个队列。但是你可以试试这个:

  • 在 ExecuteScript 之前为每个上游流添加一个 UpdateAttribute。对于每个分支,添加具有不同值的相同属性,例如 "queue.name" = "A" 和 "queue.name" = "B" 另一个
  • 在 ExecuteScript 中,您可以将 FlowFileFilter 传递给 session.get(),以获取 queue.name 属性为 "A" 或 "B" 的流文件。请注意,您可能会得到一个空列表,如果您需要至少一个流程文件才能继续,则可以 return 如果列表为空。