You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将文件路径作为属性/字段添加到解析后的flowfile中

解决方案

核心思路

你需要在GetFile之后、PartitionRecord之前增加属性提取环节,将路径片段提取为流文件的顶层属性,即可被PartitionRecord直接调用。调整后的完整流程为:
GetFile Processor → UpdateAttribute Processor → ExtractGrok Processor → PartitionRecord Processor

具体配置步骤

  • 第一步:确认GetFile的默认属性输出
    GetFile默认会自动为每个流文件生成absolute.path属性,存储源文件的完整目录路径(比如你的场景下该属性值为/var/log/server1/account1/),无需额外配置。
  • 第二步:配置UpdateAttribute提取host和account属性
    新增UpdateAttribute Processor,添加两个自定义属性:
    • 属性名host,值填写表达式:${absolute.path:replaceAll('^/var/log/([^/]+)/.*$', '$1')}
    • 属性名account,值填写表达式:${absolute.path:replaceAll('^/var/log/[^/]+/([^/]+)/.*$', '$1')}
      该表达式会通过正则捕获组,自动从路径中提取对应层级的目录名称作为属性值,属性会跟随整个流文件的全生命周期,所有下游Processor都可以直接调用。
  • 第三步:配置PartitionRecord使用自定义属性分区
    在PartitionRecord的分区规则配置中,直接选择刚才定义的host和account属性作为分区维度即可,不需要再做额外转换。

可选扩展配置

如果你需要将host、account信息写入每条日志记录的内容中,可在ExtractGrok之后新增UpdateRecord Processor,将流文件属性映射为记录的内置字段即可。

内容的提问来源于stack exchange,提问作者jjammin92

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:24:03