日志服务 编解码函数

{“url”:”https%3A%2F%2Fcloud.tencent.com%2F”}fields_set(“result”,decode_url(v(“url”)))。

相关产品
日志服务 产品页,含版本规格、价格与购买入口。

二、函数定义

将编码 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"}

赞 (0)
上一篇 4天前
下一篇 4天前