云日志服务 LTS-映射富化函数:e_search_dict_map

时间:2024-09-12 17:22:59

e_search_dict_map

对关键字(查询字符串)以及其匹配的值的字典数据进行映射。

  • 函数格式
    e_search_dict_map(data, output_field, multi_match=false, multi_join=" ", missing=None, mode="overwrite")
  • 参数说明

    参数名称

    数据类型

    是否必填

    说明

    data

    Dict

    映射关系的字典。.必须为标准的{key01:value01,key01:value02,...}格式,且关键字key必须是查询字符串。

    output_field

    String

    输出字段的名称。

    multi_match

    Boolean

    是否允许匹配多个字段。默认为false表示不匹配多个字段,会返回匹配到的最后一个字段值。支持使用multi_join拼接多个匹配的值。

    multi_join

    String

    匹配多个字段时,多值的连接字符串,默认为空格。当multi_match值为true时生效。

    missing

    String

    无匹配字段时,将该参数的取值赋给输出字段output_field。默认为None表示不做映射赋值操作。

    说明:

    如果字典中包含默认匹配星号(*),由于星号(*)的优先级高于missing,此时missing将不起作用。

    mode

    String

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

  • 返回结果

    返回查询匹配中后的映射结果。

  • 函数示例
    1. 示例1:匹配模式。
      • 测试数据
        {
         "data":123 ,
         "pro":1
        }
      • 加工规则
        e_search_dict_map ({"pro==1": "TCP", "pro==2": "UDP", "pro==3": "HTTP"}, "protocol")
      • 加工结果
        data:123 
        pro:1 
        protocol:TCP
    2. 示例2:根据字段值的不同开头进行映射。
      • 测试数据
        {
         "status":"200,300"
        }
      • 加工规则
        e_search_dict_map(
            { 
               "status:2??": "ok", 
               "status:3??": "redirect",
                "status:4??": "auth",
                "status:5??": "server_error",
            },
            "status_desc", 
           multi_match=true, 
           multi_join="测试",
        )
      • 加工结果
        status:200,300 
        status_desc:ok测试redirect
  • 更多参考

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

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