本文列举数据加工任务所涉及的所有函数。
全局操作函数
函数分类 |
函数名称 |
说明 |
e_if |
条件与操作组合。
|
|
e_if_else |
根据条件判断的结果进行对应操作。 |
|
e_switch |
条件与操作的组合。
|
|
e_compose |
组合一系列操作。
|
|
e_drop |
根据条件判断是否丢弃日志。 |
|
e_keep |
根据条件判断是否保留日志。 |
|
e_split |
基于日志字段的值分裂出多条日志,并且支持通过JMES提取字段后再进行分裂。 |
|
e_output |
输出日志到指定的Logstore中,并可配置输出时的topic、source、tag和shard hash信息。输出后对应的日志不再执行后面的加工规则。 |
|
e_coutput |
输出日志到指定的Logstore中,并可配置输出时的topic、source、tag和shard hash信息。输出后继续执行后面的加工规则。 |
|
e_to_metric |
将日志格式转化为时序存储(MetricStore)的格式。 |
|
v |
获得日志特定字段的值。当同时传入多个字段名时,返回日志中第一个存在的字段的值。 |
|
e_set |
添加新字段或为现有字段设置新的字段值。 |
|
e_drop_fields |
删除符合条件的日志字段。 |
|
e_keep_fields |
保留符合条件的日志字段。 |
|
e_pack_fields |
打包日志字段,并输出到新的字段中。 |
|
e_rename |
重命名符合条件的日志字段名称。 |
|
e_regex |
根据正则表达式提取字段的值并赋值给其他字段。 |
|
e_json |
对日志特定字段中的JSON对象进行JSON操作,包括JSON展开、JMES提取或者JMES提取后再展开。 |
|
e_kv |
通过quote提取多个源字段中的键值对信息。 |
|
e_kv_delimit |
通过分隔符提取源字段中的键值对信息。 |
|
e_csv |
使用自定义的分隔符与预定义的字段名,从特定字段中提取多个字段。默认分隔符为半角逗号(,)。 |
|
e_tsv |
使用自定义的分隔符与预定义的字段名,从特定字段中提取多个字段。默认分隔符为
|
|
e_psv |
使用自定义的分隔符与预定义的字段名,从特定字段中提取多个字段。默认分隔符为竖线(|)。 |
|
e_syslogrfc |
根据Syslog协议由已知priority值计算出facility和severity,并且匹配相应的level信息。 |
|
e_anchor |
使用定义的anchor_rules规则提取字符串。 |
|
e_dict_map |
在映射关系的字典中,根据输入的字段映射出一个新字段。 |
|
e_table_map |
在映射表格中查找对应的行,根据输入的字段返回字段的值。 |
|
e_tablestore_map |
以阿里云表格存储(Tablestore)作为维表数据对原始日志进行富化。 |
|
e_redis_map |
以阿里云Redis作为维表数据对原始日志进行富化。 |
表达式函数
函数分类 |
函数名称 |
说明 |
e_has |
判断日志字段是否存在。 |
|
e_not_has |
判断日志字段是否不存在。 |
|
e_search |
提供一种简化,类似Lucene语法的日志搜索方式。 |
|
e_match、e_match_all、e_match_any |
判断当前日志字段的值是否满足正则表达式。 |
|
op_if |
根据判断条件返回不同表达式的值。 |
|
op_ifnull |
返回第一个值不为None的表达式的值。 |
|
op_coalesce |
返回第一个值不为None的表达式的值。 |
|
op_nullif |
如果表达式1等于表达式2,返回None。否则返回表达式1的值。 |
|
op_and |
使用逻辑运算and,对任意类型值进行真假判断,所有参数值为真时返回True。 |
|
op_not |
使用逻辑运算not,对任意类型值进行真假判断,返回参数值的反义布尔值。 |
|
op_or |
使用逻辑运算or,对任意类型值进行真假判断。当任意参数值为真时返回True,所有参数值为假时返回False。 |
|
op_eq |
按照
|
|
op_ge |
按照
|
|
op_gt |
按照
|
|
op_le |
按照
|
|
op_lt |
按照
|
|
op_ne |
按照
|
|
op_len |
计算文本字符串中的字符数,可用于字符串和其他返回元组、列表、字典的表达式。 |
|
op_in |
判断字符串、元组、列表或字典中是否包含特定元素,返回True或False。 |
|
op_not_in |
判断字符串、元组、列表或字典中是否不包含特定元素,返回True或False。 |
|
op_slice |
对指定字符串、数组、元组进行截取。 |
|
op_index |
根据字符串、数组、元组的下标返回其对应的元素。 |
|
op_add |
计算多个值的和,可以是字符串或者数字等。 |
|
op_max |
计算多个字段或表达式表示的数值的最大值。 |
|
op_min |
计算多个字段或表达式表示的数值的最小值。 |
|
ct_int |
将字段或表达式的值转换为整数。 |
|
ct_float |
将字段或表达式的值转换为浮点数。 |
|
ct_str |
将字段或表达式的值转换为字符串。 |
|
ct_bool |
将字段或表达式值转换为布尔值。 |
|
ct_chr |
将字段或表达式的ANSI值、Unicode值转换为对应字符。 |
|
ct_ord |
将字段或表达式的字符转换为对应ANSI值、Unicode值。 |
|
ct_hex |
将字段或表达式的数值转换为十六进制数。 |
|
ct_oct |
将字段或表达式的数值转换为八进制数。 |
|
ct_bin |
将字段或表达式的数值转换为二进制数。 |
|
bin2oct |
将二进制字节字符串转换为八进制字符串。 |
|
bin2hex |
将二进制字节字符串转换为十六进制字符串。 |
|
op_abs |
计算传入值的绝对值。 |
|
op_div_floor |
对传入值进行整除运算。 |
|
op_div_true |
对传入值进行除法运算。 |
|
op_pow |
对传入值进行幂值计算。 |
|
op_mul |
对传入值进行乘法运算。 |
|
op_neg |
计算传入值的相反数。 |
|
op_mod |
对传入值进行模计算。 |
|
op_sub |
对传入值进行减法运算。 |
|
op_round |
对传入值进行四舍五入操作。 |
|
op_sum |
对传入值进行求和运算。 |
|
mat_ceil |
对传入值进行向上取整操作。 |
|
mat_exp |
以常数e为底的指数函数。 |
|
mat_fabs |
计算传入值的绝对值。 |
|
mat_floor |
对传入值进行向下取整操作。 |
|
mat_log |
计算传入值的对数。 |
|
mat_log10 |
计算以10为基数的传入值的对数。 |
|
mat_sqrt |
计算传入值的平方根。 |
|
mat_degrees |
将弧度转换为角度。 |
|
mat_radians |
将角度转换为弧度。 |
|
mat_sin |
计算传入值弧度的正弦值。 |
|
mat_cos |
计算传入值弧度的余弦值。 |
|
mat_tan |
计算传入值弧度的正切值。 |
|
mat_acos |
计算传入值的反余弦弧度值。 |
|
mat_asin |
计算传入值的反正弦弧度值。 |
|
mat_atan |
计算传入值的反正切弧度值。 |
|
mat_atan2 |
计算坐标值的反正切值。 |
|
mat_atanh |
计算传入值的反双曲正切值。 |
|
mat_hypot |
计算传入值的欧几里德范数。 |
|
str_format |
按照指定格式对字符串进行格式化。 |
|
str_join |
通过连接符将输入的字符串连接生成一个新的字符串。 |
|
str_zip |
将两个值或表达式的字符串进行并发分裂然后再合并成一个字符串。 |
|
str_encode |
按照指定的编码格式对字符串进行编码。 |
|
str_decode |
按照指定的编码格式对传入值进行解码。 |
|
str_hex_escape_encode |
转义特殊字符,支持将十六进制字符转义为中文字符。 |
|
str_sort |
将指定的对象进行排序。 |
|
str_reverse |
将一个字符串进行反转。 |
|
str_replace |
根据规则将旧字符串替换成新字符串。 |
|
str_logtash_config_normalize |
将Logstash配置语言转成JSON格式。 |
|
str_translate |
将字符串中的指定字符按照对应关系进行替换。 |
|
str_strip |
删除字符串中指定的字符。 |
|
str_lstrip |
删除字符串开头的指定字符。 |
|
str_rstrip |
删除字符串结尾的指定字符。 |
|
str_lower |
将字符串中所有大写字符转换为小写字符。 |
|
str_upper |
将字符串中所有小写字符转换为大写字符。 |
|
str_title |
将所有单词的首个字母转化为大写,其余字母均为小写。 |
|
str_capitalize |
将字符串的第一个字母转化为大写,其他字母转化为小写。 |
|
str_swapcase |
对字符串的大小写字母进行转换。 |
|
str_count |
统计字符串里某个字符出现的次数。 |
|
str_find |
判断原字符串中是否包含指定的子字符串。 |
|
str_rfind |
查找字符串中指定字符最后一次出现的位置。 |
|
str_endswith |
判断字符串是否以指定后缀结尾。 |
|
str_startswith |
判断字符串是否以指定字符串开头。 |
|
str_split |
通过指定分隔符对字符串进行分割。 |
|
str_splitlines |
通过换行符对字符串进行分割。 |
|
str_partition |
根据指定的分隔符将字符串从左往右分割为三部分。 |
|
str_rpartition |
根据指定的分隔符将字符串从右往左分割为三部分。 |
|
str_center |
用指定字符将字符串填充到指定长度。 |
|
str_ljust |
用指定字符将字符串从结尾填充至指定长度。 |
|
str_rjust |
用指定字符将原字符串从开头填充至指定长度。 |
|
str_zfill |
用字符0从开头将字符串填充至指定长度。 |
|
str_expandtabs |
将字符串中的
|
|
str_isalnum |
判断字符串是否仅由字母和数字组成。 |
|
str_isalpha |
判断字符串是否仅由字母组成。 |
|
str_isascii |
判断字符串是否在ASCII中。 |
|
str_isdecimal |
判断字符串是否仅包含十进制字符。 |
|
str_isdigit |
判断字符串是否仅由数字组成。 |
|
str_isidentifier |
判断字符串是否是有效的Python标识符,也可以用来判断变量名是否合法。 |
|
str_islower |
判断字符串是否由小写字母组成。 |
|
str_isnumeric |
判断字符串是否由数字组成。 |
|
str_isprintable |
判断字符串中是否所有字符都是可打印字符。 |
|
str_isspace |
判断字符串是否仅由空格字符组成。 |
|
str_istitle |
判断字符串中所有单词的拼写首字母是否为大写,且其他字母为小写。 |
|
str_isupper |
字符串中所有的字母是否都为大写。 |
|
str_uuid |
生成随机UUID。 |
|
dt_parse |
将值或时间表达式的值转换为日期时间对象。 |
|
dt_str |
将值或时间表达式的值转换为字符串。 |
|
dt_parsetimestamp |
将值或时间表达式的值转换为Unix时间戳。 |
|
dt_prop |
获取值或时间表达式值的特定属性,包括所属day、year等。 |
|
dt_now |
获取当前日期时间。 |
|
dt_today |
获取当前日期,不含时间。 |
|
dt_utcnow |
获取当前时区的当前日期时间对象。 |
|
dt_fromtimestamp |
将Unix时间戳转换为日期时间对象。 |
|
dt_utcfromtimestamp |
将Unix时间戳转换为当前时区的日期时间对象。 |
|
dt_strptime |
将时间字符串解析为日期时间对象。 |
|
dt_currentstamp |
获取当前Unix时间戳。 |
|
dt_totimestamp |
将日期时间对象转换为Unix时间戳。 |
|
dt_strftime |
将日期时间对象按照指定格式转换为字符串。 |
|
dt_strftimestamp |
将Unix时间戳按照指定格式转换为字符串。 |
|
dt_truncate |
从值或时间表达式中截取指定的时间粒度。 |
|
dt_add |
根据指定的时间粒度修改值或时间表达式的值。 |
|
dt_MO |
|
|
dt_TU |
|
|
dt_WE |
|
|
dt_TH |
|
|
dt_FR |
|
|
dt_SA |
|
|
dt_SU |
|
|
dt_astimezone |
将值或时间表达式的值转换为特定时区的日期时间对象。 |
|
dt_diff |
按照特定粒度获取两个值或时间表达式值的差异值。 |
|
regex_select |
根据正则表达式提取符合条件的值。 |
|
regex_findall |
根据正则表达式获得符合条件的所有值列表。 |
|
regex_match |
判断是否匹配正则表达式。 |
|
regex_replace |
根据正则表达式替换字符串中的指定字符。 |
|
regex_split |
将一个字符串分割成字符串数组。 |
|
grok |
根据正则表达式提取特定的值。 |
|
json_select |
根据JMES语法提取或计算JSON表达式中特定的值。 |
|
json_parse |
将值解析为JSON对象。 |
|
xml_to_json |
将XML数据转成JSON再做展开操作。 |
|
geo_parse |
根据IP地址解析出所属国家、省份和市信息。 |
|
ip_cidrmatch |
判断IP地址是否属于CIDR地址块。 |
|
ip_version |
判断IP地址为IPv4还是IPv6。 |
|
ip_type |
判断IP地址为私有地址还是公有地址。 |
|
ip_makenet |
将单个IP地址转换为CIDR地址块。 |
|
ip_to_format |
将输入的CIDR地址块按照Prefixlen或者Netmask格式输出。 |
|
ip_overlaps |
判断两个网段是否存在重叠。 |
|
ip2long |
将字符串格式的IP地址转换成长整型数据。 |
|
long2ip |
将长整型数据转换成字符串格式的IP地址。 |
|
url_encoding |
对数据进行URL编码。 |
|
url_decoding |
对数据进行URL解码。 |
|
protobuf_decoding |
按照传入的Protobuf模板将数据解析成JSON格式。 |
|
str_encode |
按照指定的编码格式对字符串进行编码。 |
|
str_decode |
按照指定的编码格式对传入值进行解码。 |
|
base64_encoding |
对数据进行Base64编码。 |
|
base64_decoding |
对数据进行Base64解码。 |
|
html_encoding |
对数据进行HTML编码。 |
|
html_decoding |
对数据进行HTML解码。 |
|
md5_encoding |
对数据进行MD5编码。 |
|
sha1_encoding |
对数据进行SHA1编码。 |
|
crc32_encoding |
计算数据的循环冗余校验码。 |
|
gzip_compress |
将数据进行压缩并编码。 |
|
gzip_decompress |
将压缩数据解压缩。 |
|
zlib_compress |
将数据进行压缩并编码。 |
|
zlib_decompress |
将压缩数据解压缩。 |
|
aes_encrypt |
对数据进行AES加密。 |
|
aes_decrypt |
对数据进行AES解密。 |
|
jwt_encoding |
基于JSON Web Token (JWT)标准,对JSON数据进行编码。 |
|
jwt_decoding |
基于JSON Web Token (JWT)标准,将数据解码为原始JSON。 |
|
hashids_encoding |
使用Hashids库对数据进行编码。 |
|
hashids_decoding |
对已使用Hashids库编码的数据进行解码。 |
|
ua_parse_device |
解析User-Agent中的设备信息。 |
|
ua_parse_os |
解析User-Agent中的操作系统信息。 |
|
ua_parse_agent |
解析User-Agent中的浏览器信息。 |
|
ua_parse_all |
解析User-Agent中所有信息。 |
|
url_parse |
解析URL的组成部分。 |
|
url_parse_qs |
解析URL中查询字符串的组成部分。 |
|
lst_make |
构建列表。 |
|
lst_insert |
在列表特定位置插入元素。 |
|
lst_append |
在列表结尾添加元素。 |
|
lst_delete_at |
在列表特定位置删除元素。 |
|
lst_reverse |
反向排序列表。 |
|
lst_get |
获取列表、元组中的一个元素。 |
|
dct_make |
构建字典。 |
|
dct_update |
更新字典。 |
|
dct_delete |
删除字典值。 |
|
dct_keys |
获取字典关键字列表。 |
|
dct_values |
获取字典值列表。 |
|
dct_get |
获取字典关键字的值。 |
|
tab_parse_csv |
从CSV格式的文本中构建表格。 |
|
tab_to_dict |
从表格构建字典。 |
|
res_local |
从当前数据加工任务中拉取高级参数配置信息。 |
|
res_rds_mysql |
从RDS MySQL数据库中拉取数据库表内容或SQL执行结果,支持定期更新数据。 |
|
res_log_logstore_pull |
从另一个Logstore中拉取数据,支持持续拉取数据。 |
|
res_oss_file |
从OSS中获取特定Bucket下的文件内容,支持定期更新数据。 |