Apache Nifi 中的多个 GetHTML 属性
Multiple GetHTML Attributes in Apache Nifi
有没有办法在同一数据流中执行多个 GetHTMLElement
?我试图首先执行 GetHTMLElement
(选择属性)并在执行 UpdateAttribute
处理器
之后抓取一些属性
(attrib: ${HTMLElement})
第一部分运行良好,但是当我尝试执行第二部分时 GetHTMLElement
,它无法从 flowContent 中解析任何内容...
我以两种不同的方式执行它们并将它们与 MergeContent
合并并工作...但现在我需要以不同的方式执行 2 "Gets"流程的一部分(拆分后)和合并将不起作用...
感谢您的帮助...我已经尝试在 Hortonworks 社区中提问 (https://community.hortonworks.com/questions/131614/multiple-gethtmlelement.html)
原因是GetHTMLElement
可以将提取的元素放入流文件属性或流文件内容取决于配置的 Destination
属性 值。 GetHTMLElement
有四个 关系 可以输出:
- 找不到元素 - 在 HTML 文档中找不到元素。原始 HTML 输入将保留在 FlowFile 内容中不变。在这种情况下将不会调用关系 'original'。
- 成功 - 成功解析HTML元素
- 原始 - 原始HTML输入
- 无效html - 输入HTML语法无效
在成功关系中,生成的流文件将包含提取元素的内容,或者如果元素被放入属性中,无内容。这是因为元素匹配的方式(参见 GetHTMLElement#186)。您可以将 original 关系路由到第二个 GetHTMLElement
处理器以提取元素,但正如您所描述的,您将拥有两个独特的流文件,每个流文件都有一个元素。
我提交了一个 Jira NIFI-4356 来改进这种情况的处理,方法是当目标是 属性 时,将原始内容保留在生成的流文件中。
有没有办法在同一数据流中执行多个 GetHTMLElement
?我试图首先执行 GetHTMLElement
(选择属性)并在执行 UpdateAttribute
处理器
(attrib: ${HTMLElement})
第一部分运行良好,但是当我尝试执行第二部分时 GetHTMLElement
,它无法从 flowContent 中解析任何内容...
我以两种不同的方式执行它们并将它们与 MergeContent
合并并工作...但现在我需要以不同的方式执行 2 "Gets"流程的一部分(拆分后)和合并将不起作用...
感谢您的帮助...我已经尝试在 Hortonworks 社区中提问 (https://community.hortonworks.com/questions/131614/multiple-gethtmlelement.html)
原因是GetHTMLElement
可以将提取的元素放入流文件属性或流文件内容取决于配置的 Destination
属性 值。 GetHTMLElement
有四个 关系 可以输出:
- 找不到元素 - 在 HTML 文档中找不到元素。原始 HTML 输入将保留在 FlowFile 内容中不变。在这种情况下将不会调用关系 'original'。
- 成功 - 成功解析HTML元素
- 原始 - 原始HTML输入
- 无效html - 输入HTML语法无效
在成功关系中,生成的流文件将包含提取元素的内容,或者如果元素被放入属性中,无内容。这是因为元素匹配的方式(参见 GetHTMLElement#186)。您可以将 original 关系路由到第二个 GetHTMLElement
处理器以提取元素,但正如您所描述的,您将拥有两个独特的流文件,每个流文件都有一个元素。
我提交了一个 Jira NIFI-4356 来改进这种情况的处理,方法是当目标是 属性 时,将原始内容保留在生成的流文件中。