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

时间:2024-07-25 10:14:32

e_set

调用e_set函数添加新字段或为现有字段设置新的字段值。

  • 函数格式
    e_set(key1, value1, key2, value2, mode="overwrite")
    • 函数中key1和value1必须成对出现。
    • 通过e_set函数设置时间字段F_TIME或__time__时,必须设置为数字、字符串。
    e_set(F_TIME, "abc")   # 错误
    e_set(F_TIME, "12345678")   # 正确
  • 参数说明

    参数

    参数类型

    是否必填

    说明

    key

    String

    目标字段名,也可以通过字符串表达式获得该字段名。

    value

    任意

    新的字段值。非字符串都转化成字符串放入日志中,其中元组、列表、字典会转换成JSON对象的字符串。

    说明 如果传递的值是None,则不会进行更新操作。

    mode

    String

    字段的覆盖模式。默认为overwrite。

  • 返回结果

    返回更新后的日志。

  • 函数示例
    1. 示例1:为字段设置固定值。

      添加一个新字段city,字段值为上海。

      e_set("city", "上海")
    2. 示例2:复制字段值。

      调用单个表达式函数,将现有字段ret的值,赋给新字段result。

      • 原始数据
        {"ret": "value"}
      • 加工规则
        e_set("result", v("ret"))
      • 加工结果
        ret:value     
        result:value
    3. 示例3:动态设置值。

      调用组合表达式函数,获取第一个存在的字段值,返回其小写格式并赋值给字段result。

      e_set("result", str_lower(v("ret", "return")))
    4. 示例4:多次设置字段值。
      • 原始数据
        {
                "ret" : "fail"
            }
      • 加工规则
        e_set("event_type", "login event", "event_info", "login host")
      • 加工结果
        ret: fail
        event_type: login event
        event_info: login host
  • 更多参考

    支持和其他函数组合使用。

support.huaweicloud.com/usermanual-lts/lts_07_0163.html