三、函数定义
根据条件判断,返回相应的值。
四、语法描述
op_if(条件1, 值1, 值2)
五、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| condition | 条件表达式 | bool | 是 | – | – |
| data1 | 条件为 True 时,返回此参数值 | string | 是 | – | – |
| data2 | 条件为 False 时,返回此参数值 | string | 是 | – | – |
六、示例
·示例1
原始日志:
{"data": "abc"}
加工规则:
fields_set("result", op_if(True, v("data"), "false"))
加工结果:
{"result":"abc","data":"abc"}
·示例2
原始日志:
{"data": "abc"}
加工规则:
fields_set("result", op_if(False, v("data"), "123"))
加工结果:
{"result":"123","data":"abc"}
八、函数定义
对值进行 and 运算,均为 True 时,返回 True,否则返回 False。
九、语法描述
op_and(值1, 值2, …)
十、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| 可变参列表 | 参与计算的参数或表达式 | string | 是 | – | – |
十一、示例
·示例1
原始日志:
{}
加工规则:
fields_set("result", op_and(True, False))
加工结果:
{"result":"false"}
·示例2
原始日志:
{}
加工规则:
fields_set("result", op_and(1, 1))
加工结果:
{"result":"true"}
·示例3
原始日志:
{"data":"false"}
加工规则:
fields_set("result", op_and(1, v("data")))
加工结果:
{"result":"false","data":"false"}
十三、函数定义
若存在参数值为 True,则返回 True;仅当所有参数值均为 False 时,才返回 False。
十四、语法描述
op_or(值1, 值2, …)
十五、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| 可变参列表 | 参与计算的参数或表达式 | string | 是 | – | – |
十六、示例
原始日志:
{}
加工规则:
fields_set("result", op_or(True, False))
加工结果:
{"result":"true"}
十八、函数定义
对值进行 not 运算。
十九、语法描述
op_not(值)
20、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 任意类型的值 | any | 是 | – | – |
21、示例
·示例1
原始日志:
{}
加工规则:
fields_set("result", op_not(True))
加工结果:
{"result":"false"}
·示例2
原始日志:
{}
加工规则:
fields_set("result", op_not("True"))
加工结果:
{"result":"false"}
23、函数定义
对值进行比较,相等则返回 True。
24、语法描述
op_eq(值1, 值2)
25、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
| data2 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
26、示例
·示例1:判断字段 "Post" 和 "Get" 的值是否相等。
原始日志:
{"Post": "10", "Get": "11"}
加工规则:
fields_set("result", op_eq(v("Post"), v("Get")))
将结果保存到 result。
加工结果:
{"result":"false","Post":"10","Get":"11"}
·示例2:判断字段 "field1" 和 "field2" 的值是否相等。
原始日志:
{"field1": "1", "field2": "1"}
加工规则:
fields_set("result", op_eq(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"1","field2":"1"}
28、函数定义
对值进行比较,值1大于或等于值2时返回 True。
29、语法描述
op_ge(值1, 值2)
30、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
| data2 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
31、示例
·示例1
原始日志:
{"field1": "20", "field2": "9"}
加工规则:
fields_set("result", op_ge(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"20","field2":"9"}
·示例2
原始日志:
{"field1": "2", "field2": "2"}
加工规则:
fields_set("result", op_ge(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"2","field2":"2"}
33、函数定义
对值进行比较,值1大于值2时返回 True。
34、语法描述
op_gt(值1, 值2)
35、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
| data2 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
36、示例
原始日志:
{"field1": "20", "field2": "9"}
加工规则:
fields_set("result", op_gt(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"20","field2":"9"}
38、函数定义
对值进行比较,值1小于或等于值2时返回 True。
39、语法描述
op_le(值1, 值2)
40、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
| data2 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
41、示例
原始日志:
{"field1": "2", "field2": "2"}
加工规则:
fields_set("result", op_le(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"2","field2":"2"}
43、函数定义
对值进行比较,值1小于值2时返回 True。
44、语法描述
op_lt(值1, 值2)
45、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
| data2 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
46、示例
原始日志:
{"field1": "2", "field2": "3"}
加工规则:
fields_set("result", op_lt(v("field1"), v("field2")))
加工结果:
{"result":"true","field1":"2","field2":"3"}
48、函数定义
对值进行求和运算。
49、语法描述
op_add(值1, 值2)
50、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
| data2 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
51、示例
原始日志:
{"field1": "1", "field2": "2"}
加工规则:
fields_set("result", op_add(v("field1"), v("field2")))
加工结果:
{"result":"3","field1":"1","field2":"2"}
53、函数定义
对值进行求差运算。
54、语法描述
op_sub(值1, 值2)
55、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
| data2 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
56、示例
原始日志:
{"field1": "1", "field2": "2"}
加工规则:
fields_set("result", op_sub(v("field1"), v("field2")))
加工结果:
{"result":"-1","field1":"1","field2":"2"}
58、函数定义
对值进行乘积运算。
59、语法描述
op_mul(值1, 值2)
60、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
| data2 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
61、示例
原始日志:
{"field1": "1", "field2": "2"}
加工规则:
fields_set("result", op_mul(v("field1"), v("field2")))
加工结果:
{"result":"2","field1":"1","field2":"2"}
63、函数定义
对值进行除法运算。
64、语法描述
op_div(值1, 值2)
65、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
| data2 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
66、示例
·示例1
原始日志:
{"field1": "1", "field2": "2"}
加工规则:
fields_set("result", op_div(v("field1"), v("field2")))
加工结果:
{"result":"0","field1":"1","field2":"2"}
·示例2
原始日志:
{"field1": "1.0", "field2": "2"}
加工规则:
fields_set("result", op_div(v("field1"), v("field2")))
加工结果:
{"result":"0.5","field1":"1.0","field2":"2"}
68、函数定义
对多值累加求和。
69、语法描述
op_sum(值1, 值2, …)
70、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| 可变参列表 | 数值类型的值或可转为数值的字符串 | string | 是 | – | – |
71、示例
原始日志:
{"field1": "1.0", "field2": "10"}
加工规则:
fields_set("result", op_sum(v("field1"), v("field2")))
加工结果:
{"result":"11.0","field1":"1.0","field2":"10"}
73、函数定义
对值进行模计算。
74、语法描述
op_mod(值1, 值2)
75、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
| data2 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
76、示例
·示例1
原始日志:
{ "field1": "3", "field2": "2"}
加工规则:
fields_set("result", op_mod(v("field1"), v("field2")))
加工结果:
{"field1":"3","field2":"2","result":"1"}
·示例2
原始日志:
{"field1": "1.0", "field2": "5"}
加工规则:
fields_set("result", op_mod(v("field1"), v("field2")))
加工结果:
{"result":"1.0","field1":"1.0","field2":"5"}
·示例3
原始日志:
{"field1": "6", "field2": "4"}
加工规则:
fields_set("result", op_mod(v("field1"), v("field2")))
加工结果:
{"result":"2","field1":"6","field2":"4"}
78、函数定义
对值进行是否为 null 判断,是则返回 true,否则返回 false。
79、语法描述
op_null(值)
80、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 任意类型的值 | any | 是 | – | – |
81、示例
·示例1
原始日志:
{}
加工规则:
fields_set("result", op_null("null"))
加工结果:
{"result":"true"}
·示例2
原始日志:
{"data": null}
加工规则:
fields_set("result", op_null(v("data")))
加工结果:
{"data": "null", "result":"true"}
83、函数定义
对值进行是否为非 null 判断,是则返回 true,否则返回 false。
84、语法描述
op_notnull(值)
85、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 任意类型的值 | any | 是 | – | – |
86、示例
·示例1
原始日志:
{}
加工规则:
fields_set("result", op_notnull("null"))
加工结果:
{"result":"false"}
·示例2
原始日志:
{"data": null}
加工规则:
fields_set("result", op_notnull(v("data")))
加工结果:
{"data": "null", "result":"false"}
88、函数定义
对字符串值进行比较,相等则返回 true。
89、语法描述
op_str_eq(值1, 值2, ignore_upper=False)
90、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 字符串类型的值 | string | 是 | – | – |
| data2 | 字符串类型的值 | string | 是 | – | – |
| ignore_upper | 是否区分大小写 | bool | 否 | False | – |
91、示例
·示例1
原始日志:
{"field": "cls"}
加工规则:
fields_set("result", op_str_eq(v("field"), "cls"))
加工结果:
{"result":"true","field":"cls"}
·示例2
原始日志:
{"field": "cls"}
加工规则:
fields_set("result", op_str_eq(v("field"), "etl|cls|data"))
加工结果:
{"result":"true","field":"cls"}
·示例3
原始日志:
{"field": "CLS"}
加工规则:
fields_set("result", op_str_eq(v("field"), "cls", ignore_upper=True))
加工结果:
{"result":"true","field":"CLS"}
·示例4
原始日志:
{"field": "CLS"}
加工规则:
fields_set("result", op_str_eq(v("field"), "etl|cls|data", ignore_upper=True))
加工结果:
{"result":"true","field":"CLS"}
93、函数定义
生成随机数(两个参数之间的一个随机数),左闭右闭。
94、语法描述
random(值1, 值2)
95、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data1 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
| data2 | 数值类型的值或可转为数值的字符串 | number | 是 | – | – |
96、示例
·示例1
原始日志:
{"field1": "1"}
加工规则:
log_keep(op_eq(random(3, 5), 4))
加工结果:
{"field1": "1"}
·示例2
原始日志:
{"field1": "1"}
加工规则:
fields_set("field2", random(1, 5))
加工结果:
{"field1":"1", "field2":"4"}
98、函数定义
计算文本字符串中的字符数,可用于字符串和其他返回元组、列表、字典的表达式。
99、语法描述
op_len(value)
100、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| value | – | 字符串、元组、列表或字典等 | 是 | – | – |
101、示例
原始日志:
{"data":"[1,2]"}
加工规则:
fields_set("length", op_len(v("data")))
加工结果:
{"length":"2","data":"[1,2]"}
103、函数定义
按照 a!=b 条件进行计算,返回 True 或 False。
104、语法描述
op_ne(value1, value2)
105、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| value1 | 被对比的值 | 数值类型的值或可转为数值的字符串 | 是 | – | – |
| value2 | 对比 value1 | 数值类型的值或可转为数值的字符串 | 是 | – | – |
106、示例
原始日志:
{"data1": "1","data2": "2"}
加工规则:
fields_set("result", op_ne(v("data1"), v("data2")))
加工结果:
{"result":"true","data1": "1","data2": "2"}