JoltTransformJSON Processor
描述
使用 Jolt 转换的领域特定语言操作指令将 JSON 重新格式化为 JSON。 JOLT 社区版文档提供了受支持操作和语法标准的示例。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| Jolt Transform | jolt-transform-chain |
| 指定应与所提供的规范一起使用的摇动变换。 |
| Jolt Specification | | 用于 JSON 数据转换的 Jolt 规范。此属性的值可以是 Jolt 规范的文本或包含 Jolt 规范的文件路径。必须设置 'Jolt 规范',否则如果选择了 Jolt Sort 转换,则忽略该值。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Custom Transformation Class Name | | 用于自定义转换的完全限定类名称 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Custom Module Directory | | 以逗号分隔的文件和/或目录路径列表,其中包含包含自定义转换的模块(不包含在 Lynxus 的类路径中)。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Transform Cache Size | 1 | 编译 Jolt 转换可能相当昂贵。理想情况下,这应该只执行一次。但是,如果转换中使用了 Expression Language,我们可能需要为每个 FlowFile 使用新的转换。此值控制我们在内存中缓存多少个这样的转换,以避免每次都必须编译转换。 | |
| JSON Source | FLOW_FILE |
| 指定 Jolt 转换是应用于 FlowFile JSON 内容还是指定的 FlowFile JSON 属性。 |
| JSON Source Attribute | | 包含要转换的 JSON 的 FlowFile 属性。 | |
| Pretty Print | false |
| 将漂亮的打印格式应用于 Jolt 变换的输出 |
| Max String Length | 20 MB | 解析JSON文档时字符串值允许的最大长度 | |
| Retain Unicode Escape Sequences | false |
| 允许保留 Unicode 转义序列而不是解析它们(例如保留文本 \u00E9 而不解析为 é) |
关系 (Relationships)
| 名称 | 描述 | 自动终止 |
|---|---|---|
failure | 如果 JSON 转换失败(例如,由于内容或属性中的 JSON 无效),原始 FlowFile 将路由到此关系。 | 否 |
success | 成功转换内容或更新属性的 FlowFile 将被路由到此关系 | 否 |
写入的 FlowFile 属性
| 名称 | 描述 |
|---|---|
mime.type | 根据配置设置为 application/json 或 application/jsonl |
状态管理
该组件不存储状态。
受限 (Restricted)
该组件不受限。
输入要求
该组件要求有传入连接。
详细说明
JoltTransformJSON
使用信息
Jolt 处理 JSON 的工具不是基于流的,因此大型 JSON 文档的转换可能 消耗大量内存。目前支持 UTF-8 编码的 FlowFile 内容和 Jolt 规范。 规范可以用表达式语言定义,在规范语法中,Attribute 可以出现在 等号的左边或右边。支持自定义的 Jolt Transformation(实现 Transform 接口)。可以通过 custom module directory 属性引入包含 当前 classpath 中不存在的自定义库的模块。注意: 配置该 Processor 时,如果用户选择了 Default 转换但又提供了 Chain 规范,系统不会提示规范无效,会产生失败的 FlowFile。这是 Jolt 库中已识别的已知问题。