首页 > 解决方案 > 拆分字符串数组并将每个字符串放在 nifi 中的流文件属性上

问题描述

我尝试从frequentlyBoughtTogether数组中提取每个元素并将其放在流属性上:

{
   frequentlyBoughtTogether: ["a","b","c"]
}

第一步:SplitJson

在此处输入图像描述

第二步:EvaluateJsonPath使每个元素成为流文件属性:

在此处输入图像描述

但是,这给了我以下错误:

在此处输入图像描述

当我记录失败时,我可以在 flow-file-content 中看到该元素,但我需要它是一个属性。任何想法如何解决这个问题?

标签: apache-nifi

解决方案


使用ExtractText 处理器而不是EvaluateJsonPath处理器。

  • 如果EvaluateJsonPath处理器评估流文件内容,如果内容不是有效的 json,则处理器路由flowfile to failure
  • 如果Extract Text处理器只是通过应用正则表达式来 提取流文件的内容。ExtractText 配置: 在此处输入图像描述 将新属性添加为

(.*)

val然后处理器通过将流文件内容提取为值来将新属性名称添加到流文件中。

流动:

SplitJson->ExtractText

推荐阅读