JSLTTransformJSON

文档中心 › 组件索引 › JSLTTransformJSON

JSLTTransformJSON Processor

类型全限定名:cn.org.acal.lynxus.processors.jslt.JSLTTransformJSON

所属 Bundle:cn.org.acal.lynxus:lynxus-jslt-nar:2.11.8

描述

将 JSLT 转换应用于 FlowFile JSON 负载。 使用转换后的内容创建一个新的 FlowFile,并将其路由到“成功”关系。 如果 JSLT 转换失败,原始 FlowFile 将路由到“失败”关系。

标签

jsonjslttransform

属性

下表中,加粗的属性为必填项;其余为可选项。表格同时标注默认值、是否支持表达式语言,以及是否为敏感属性(值会被加密)。

名称默认值可选值描述
JSLT Transformation用于 JSON 数据转换的 JSLT 转换。任何存在的 Lynxus Expression Language 将首先被求值以获取要应用的最终转换。JSLT 教程提供了支持的表达式的概述:https://github.com/schibsted/jslt/blob/master/tutorial.md
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Input FormatFLOW_FILE
  • FlowFile — Transformation applied to FlowFile content containing JSON
  • JSON Lines — 转换应用于包含 JSON 行或 NDJSON 的 FlowFile 内容的每一行
指定包含一个或多个 JSON 元素的 FlowFile 内容的预期格式
Transformation StrategyEACH_OBJECT
  • Entire FlowFile — 对整个 FlowFile 内容 JSON 应用转换
  • Each JSON Object — 对数组中的每个 JSON 对象应用转换
是否将 JSLT 转换应用于整个 FlowFile 内容或根级数组中的每个 JSON 对象
Pretty Printfalse
  • true
  • false
将漂亮的打印格式应用于 JSLT 转换的输出
Transform Cache Size1编译 JSLT 转换可能相当昂贵。理想情况下,这应该只执行一次。但是,如果转换中使用了 Expression Language,我们可能需要为每个 FlowFile 使用新的转换。此值控制我们在内存中缓存多少个这样的转换,以避免每次都必须编译转换。
Transform Result Filter. != null and . != {} and . != []使用 JSLT 表达式过滤输出 JSON 结果。此属性支持更改默认过滤器,默认过滤器从输出 JSON 中移除具有 null 值的 JSON 对象、空对象和空数组。此 JSLT 必须对每个要包含的 JSON 对象返回 true,对每个要移除的对象返回 false。使用过滤值 "true" 可禁用过滤。

关系 (Relationships)

名称描述自动终止
failure如果 FlowFile 由于任何原因处理失败(例如,FlowFile 不是有效的 JSON),它将被路由到此关系否
success具有转换内容的 FlowFile 将被路由到此关系否

写入的 FlowFile 属性

名称描述
mime.type始终设置为 application/json

状态管理

该组件不存储状态。

受限 (Restricted)

该组件不受限。

输入要求

该组件要求有传入连接。

系统资源考量

资源描述
MEMORYAn instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.