云日志服务 LTS-字段操作函数:e_pack_fields

时间:2024-11-02 18:44:20

e_pack_fields

用e_pack_fields函数将日志字段进行打包,并输出到新的字段中。

  • 函数格式
    e_pack_fields(output_fields,include=".*",exclude=None,drop_packed=true)
  • 参数说明

    参数

    类型

    是否必填

    说明

    output_field

    String

    指定打包后输出的字段名称。其值为JSON格式。

    include

    String

    白名单配置,符合正则表达式的字段会被打包。默认为".*" ,表示全部匹配。

    exclude

    String

    黑名单配置,符合正则表达式的字段不会被打包。默认为None,表示不进行匹配判断。

    drop_packed

    Boolean

    打包数据后是否删除被打包的原数据,默认为true。

    • true(默认值):输出结果中删除被打包的原数据。
    • false:输出结果中不删除被打包的原数据。
  • 返回结果

    返回被打包后的日志数据。

  • 函数示例
    1. 示例1:将日志所有字段打包到test字段,默认删除被打包的原始字段。
      • 测试数据
        {
         "test1":123, 
         "test2":456,
         "test3":789
        }
      • 加工规则
        e_pack_fields("test")
      • 加工结果
        test:{"test1": "123", "test2": "456", "test3": "789"}
    2. 示例2:将日志所有字段打包到test字段,不删除被打包的原始字段。
      • 测试数据
        {
         "test1":123, 
         "test2":456,
         "test3":789
        }
      • 加工规则
        e_pack_fields("test",drop_packed=false)
      • 加工结果
        test:{"test1": "123", "test2": "456", "test3": "789"}
        test1:123 
        test2:456 
        test3:789
    3. 示例3:打包test和abcd字段到content字段,不删除被打包的原始字段。
      • 测试数据
        {
         "abcd@#%":123,
         "test":456,
         "abcd":789
        }
      • 加工规则
        e_pack_fields("content", include="\w+", drop_packed=false)
      • 加工结果
        abcd:789 
        abcd@#%:123
        content:{"test": "456", "abcd": "789"}
        test:456
    4. 示例4:不打包test和abcd字段,其余字段打包到content字段,删除被打包的原始字段。
      • 测试数据
        {
         "abcd@#%":123,
         "test":456,
         "abcd":789
        }
      • 加工规则
        e_pack_fields("content", exclude="\w+", drop_packed=true)
      • 加工结果
        abcd:789 
        content:{"abcd@#%": "123"}
        test:456
support.huaweicloud.com/usermanual-lts/lts_07_0163.html