二、函数定义
将编码 URL 进行解码。
三、语法描述
decode_url(值)
四、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| url | URL 值 | String | 是 | – | – |
五、示例
原始日志:
加工规则:
加工结果:
{"result":"https://cloud.tencent.com/","url":"https%3A%2F%2Fcloud.tencent.com%2F"}
七、函数定义
计算并返回 MD5值。
八、语法描述
md5_encoding(值)
九、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| 值 | 待计算 MD5值的数据 | String | 是 | – | – |
十、示例
原始日志:
{"field": "haha"}
加工规则:
fields_set("field", md5_encoding(v("field")))
加工结果:
{"field":"4e4d6c332b6fe62a63afe56171fd3725"}
十二、函数定义
生成 universally unique identifier (UUID) ,即唯一识别码。
十三、语法描述
uuid()
十四、参数说明
无入参。
十五、示例
原始日志:
{"key":"value"}
加工规则:
fields_set("field",uuid())
加工结果:
{"field":"8c2db704-45c0-4ea1-9e2c-cf9c966e35cd","key":"value"}
十七、函数定义
对字符串进行指定格式的编码。
十八、语法描述
str_encode(data, encoding="utf8", errors="ignore")
十九、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 待编码的数据 | String | 是 | – | – |
| encoding | 编码格式,默认为 utf8,支持 ASCII、latin1、unicode-escape | String | 否 | utf8 | – |
| errors | 编码格式无法识别字符时的处理方式ignore(默认值):忽略不做编码strict:直接报错,丢弃此条日志数据replace:使用半角问号(?)替换无法识别部分xmlcharrefreplace:使用对应 XML 字符替换无法识别部分 | String | 否 | ignore | – |
20、示例
原始日志:
{"field1": "asd编码编码\\\\u1234"}
加工规则:
fields_set("field2", str_decode(str_encode(v("field1"), "unicode-escape"), "unicode-escape"))
加工结果:
{"field1":"asd编码编码\\\\u1234","field2":"asd编码编码ሴ"}
22、函数定义
对字符串进行指定格式的解码。
23、语法描述
str_decode(data, encoding="utf8", errors="ignore")
24、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| data | 待解码的数据 | String | 是 | – | – |
| encoding | 编码格式,默认为 utf8,支持 ASCII、latin1、unicode-escape | String | 否 | utf8 | – |
| errors | 编码格式无法识别字符时的处理方式ignore(默认值):忽略不做解码strict:直接报错,丢弃此条日志数据replace:使用半角问号(?)替换无法解码部分xmlcharrefreplace:使用对应 XML 字符替换无法解码部分 | String | 否 | ignore | – |
25、示例
原始日志:
{"field1": "英文和中文测试:qwertyuiopasdfghjklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM 特殊符号:】】【!@#$%^&*()_++~"}
加工规则:
fields_set("field2", str_decode(str_encode(v("field1"))))
加工结果:
{"field1":"英文和中文测试:qwertyuiopasdfghjklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM 特殊符号:】】【!@#$%^&*()_++~", "field2":"英文和中文测试:qwertyuiopasdfghjklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM 特殊符号:】】【!@#$%^&*()_++~"}
27、函数定义
将字符串进行 base64编码。
28、语法描述
base64_encode(值, format="RFC3548")
29、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| value | 待编码字符串 | string | 是 | – | – |
| format | 编码格式,支持 RFC4648(默认)、RFC3548 | string | 否 | RFC4648 | – |
30、示例
原始日志:
{"field": "hello world"}
加工规则:
fields_set("encode", base64_encode(v("field")))
加工结果:
{"encode":"aGVsbG8gd29ybGQ=", "field":"hello world"}
32、函数定义
将字符串进行 base64解码。
33、语法描述
base64_decode(值, format="RFC3548")
34、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| value | 待解码字符串 | string | 是 | – | – |
| format | 解码格式,支持 RFC4648(默认)、RFC3548 | string | 否 | RFC4648 | – |
35、示例
原始日志:
{"field": "aGVsbG8gd29ybGQ="}
加工规则:
fields_set("decode", base64_decode(v("field")))
加工结果:
{"decode":"hello world", "field":"aGVsbG8gd29ybGQ="}
37、函数定义
使用 Hashids 库对数据进行编码。
38、语法描述
hashids_encoding(value, salt="", min_length=0)
39、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| value | 待编码字符串 | Number、List、Tuple | 是 | – | 当 value 为数字时,不能小于0 |
| salt | 为数据添加盐值,默认为空字符串 | String | 是 | "" | |
| min_length | 生成的哈希值的最小长度,默认为0 | Number | 是 | 0 | – |
40、示例1
原始日志:
{"data": "[123, 456]"}
加工规则:
fields_set("hashid", hashids_encode(v("data"), salt="test", min_length=32))
加工结果:
{"data":"[123, 456]", "hashid":"O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g"}
41、示例2
原始日志:
{"data1": "123", "data2": "456"}
加工规则:
fields_set("hashid", hashids_encode(v("data1"),v("data2"), salt="test", min_length=32))
加工结果:
{"data1": "123", "data2": "456", "hashid":"O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g"}
43、函数定义
对已使用 Hashids 库编码的数据进行解码。
44、语法描述
hashids_decoding(hash_value, salt="", min_length=0)
45、参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
| hash_value | 待解码的字符串 | String | 是 | – | – |
| salt | 为数据添加盐值,默认为空字符串 | String | 是 | "" | – |
| min_length | 生成的哈希值的最小长度,默认为0 | Number | 是 | 0 | – |
46、示例
原始日志:
{"hashid":"O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g"}
加工规则:
fields_set("result", hashids_decode(v("hashid"), salt="test", min_length=32))
加工结果:
{"result":"[123, 456]","hashid":"O6jN0Z7VARqDzbpBHYOakeowE5Xnr41g"}