Разделите массив строк и поместите каждую строку в атрибут потока-файла в nifi - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь извлечь каждый элемент из массива frequentlyBoughtTogether и поместить его в атрибут потока:

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

Шаг первого шага: SplitJson

enter image description here

Второй шаг: EvaluateJsonPath , чтобы сделать каждый элемент атрибутом потока-файла:

enter image description here

Однако это дает мне следующую ошибку:

enter image description here

Когда я регистрирую ошибку, я вижу элемент в потоке-файле-содержимом, но мне нужно, чтобы он был атрибутом. Есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 03 ноября 2018

Использование Процессор ExtractText вместо EvaluateJsonPath Процессор.

  • в случае EvaluateJsonPath процессор оценивает содержимое потокового файла, если содержимое не является допустимым json, то процессор маршрутизирует flowfile to failure)
  • В случае Extract Text процессор просто извлекает содержимое файла потока , применяя регулярное выражение. Конфигурации ExtractText: enter image description here Добавить новую недвижимость как

VAL

(.*)

Затем процессор добавляет новые имена атрибутов val в файл потока путем извлечения содержимого файла потока в качестве значения.

Расход:

SplitJson->ExtractText
...