Skip to main content

JSLTTransformJSON

Описание

Применяет трансформацию JSLT к полезной нагрузке JSON файла потока. Создается новый файл потока с преобразованным содержимым, который направляется в отношение «success». Если преобразование JSLT завершится неудачно, оригинальный файл потока будет направлен в отношение «failure».

Теги

json, jslt, transform

Свойства

НазваниеОписание
JSLT TransformationПреобразование JSLT для преобразования данных JSON. Для получения окончательного преобразования, которое будет применено, сначала будет выполнен любой присутствующий язык выражений NiFi. В руководстве по JSLT представлен обзор поддерживаемых выражений: https://github.com/schibsted/jslt/blob/master/tutorial.mdThis property requires exactly one resource to be provided. That resource may be any of the following types: file, text. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)
Transformation StrategyСледует ли применять преобразование JSLT ко всему содержимому FlowFile или к каждому объекту JSON в массиве корневого уровня
Pretty PrintПрименить форматирование для красивой печати к результатам преобразования JSLT
Transform Cache SizeКомпиляция преобразования JSLT может быть довольно затратной. В идеале это нужно делать только один раз. Однако, если в преобразовании используется язык выражений, нам может понадобиться новое преобразование для каждого FlowFile. Это значение определяет, сколько таких преобразований мы сохраняем в памяти, чтобы не приходилось каждый раз компилировать преобразование.
Transform Result FilterФильтр для выходных результатов JSON с использованием выражения JSLT. Это свойство позволяет изменить фильтр по умолчанию, который удаляет из выходного JSON объекты JSON с нулевыми значениями, пустые объекты и пустые массивы. Этот JSLT должен возвращать значение true для каждого объекта JSON, который должен быть включен, и значение false для каждого объекта, который должен быть удален. Использование значения фильтра "true" для отключения фильтрации.

Взаимосвязи

  • success: Файл Flow с преобразованным содержимым будет направлен по этому каналу связи
  • failure: Если обработка FlowFile по какой-либо причине не удалась (например, FlowFile не является допустимым JSON), он будет перенаправлен в это отношение.