华为云用户手册

  • dt_FR dt_add函数中传递给weekday参数的值,用于表示特定星期五的偏移量。 函数格式 dt_FR(Integer_or_negative) 参数说明 参数名称 参数类型 是否必填 说明 Integer_or_negative Number 是 传入偏移量。如果需要传入负数,请使用op_neg(positive) 。例如-1用op_neg(1)表示。 返回结果 返回偏移后的时间。 函数示例 测试数据 { "time": "2023-06-17 02:03:04" } 加工规则 e_set("dt_FR",dt_add(v("time"),weekday=dt_FR(1))) 加工结果 time: 2023-06-17 02:03:04 dt_FR: 2023-06-23 02:03:04
  • dt_SU dt_add函数中传递给weekday参数的值,用于表示特定星期日的偏移量。 函数格式 dt_SU(Integer_or_negative) 参数说明 参数名称 参数类型 是否必填 说明 Integer_or_negative Number 是 传入偏移量。如果需要传入负数,请使用op_neg(positive) 。例如-1用op_neg(1)表示。 返回结果 返回偏移后的时间。 函数示例 测试数据 { "time": "2023-06-17 02:03:04" } 加工规则 e_set("dt_SU",dt_add(v("time"),weekday=dt_SU(1))) 加工结果 dt_SU:2023-06-18 02:03:04 time: 2023-06-17 02:03:04
  • dt_TU dt_add函数中传递给weekday参数的值,用于表示特定星期二的偏移量。 函数格式 dt_TU(Integer_or_negative) 参数说明 参数名称 参数类型 是否必填 说明 Integer_or_negative Number 是 传入偏移量。如果需要传入负数,请使用op_neg(positive) 。例如-1用op_neg(1)表示。 返回结果 返回偏移后的时间。 函数示例 测试数据 { "time": "2023-06-17 02:03:04" } 加工规则 e_set("dt_TU",dt_add(v("time"),weekday=dt_TU(1))) 加工结果 time: 2023-06-17 02:03:04 dt_TU: 2023-06-20 02:03:04
  • dt_add 根据指定的时间粒度修改值或时间表达式的值。 函数格式 dt_add(value, dt1=None, dt2=None, year(s)=None, month(s)=None, day(s)=None, hour(s)=None, minute(s)=None, second(s)=None, microsecond(s)=None, week(s)=None, weekday=None) 参数说明 参数名称 参数类型 是否必填 说明 value 字符串、Unix时间戳或日期时间对象 是 日期时间表达式。 dt1 字符串、Unix时间戳或日期时间对象 否 日期时间表达式,默认为None。 dt2 字符串、Unix时间戳或日期时间对象 否 日期时间表达式,默认为None。 year/years Number 否 year:表示需要替换的年份,例如year=2020,默认为None。 years:表示需要增加年份的数量,如years=1表示在原来year的基础上再增加一年。 day/days Number 否 day:表示需要替换的天,例如day=1,默认为None。 days:表示需要增加天的数量,如days=1表示在原来day的基础上加一天。 hour/hours Number 否 hour:表示需要替换的小时,例如hour=1,默认为None。 hours:表示需要增加小时的数量,如hours=1表示在原来hour的基础上加一小时。 minute/minutes Number 否 minute:表示需要替换的分钟,例如minute=1,默认为None。 minutes:表示需要增加分钟的数量,如minutes=1表示在原来minute的基础上加一分钟。 second/seconds Number 否 second:表示需要替换的秒数,例如second=1,默认为None。 seconds:表示需要增加秒的数量,如seconds=1表示在原来second的基础上加一秒钟。 microsecond/microseconds Number 否 microsecond:表示需要替换的毫秒数,例如microsecond=1,默认为None。 microseconds:表示需要增加毫秒的数量,microseconds=1表示在原来microsecond的基础上加一毫秒。 week/weeks Number 否 week:表示需要偏移的周数,例如week=1,默认为None。 weeks:表示需要增加周的数量,weeks=1表示在原来week的基础上加一周。 weekday Number 否 表示需要偏移的工作日,例如weekday=dt_MO(1),默认为None。 返回结果 返回修改后的时间表达式。 函数示例 示例1 测试数据 { "dt": "2018-10-10 1:2:3", "dt1": "2018-11-3 11:12:13", "dt2": "2018-10-1 10:10:10" } 加工规则 e_set("dt_add",dt_add(dt_parse(v("dt")), dt1=dt_parse(v("dt1")), dt2=dt_parse(v("dt2")))) 加工结果 dt:2018-10-10 1:2:3 dt1:2018-11-3 11:12:13 dt2:2018-10-1 10:10:10 dt_add:2018-11-12 02:04:06 示例2 测试数据 { "dt": "2018-10-11 02:03:04", "year": "2019" } year: 2019 加工规则 e_set("dt_add", dt_add(dt_parse(v("dt")), year=ct_int(v("year")))) 加工结果 dt:2018-10-11 02:03:04 dt_add:2019-10-11 02:03:04 year:2019
  • dt_currentstamp 获取当前Unix时间戳。 函数格式 dt_currentstamp(value, normalize='floor') 参数说明 参数名称 参数类型 是否必填 说明 value String 是 值或时间表达式。 normalize String 否 计算结果数字格式。参数取值为: floor(默认值):向下取整。 int:取整。 round:四舍五入。 ceil:向上取整。 返回结果 返回当前Unix时间戳。 函数示例 测试数据 无 加工规则 e_set("dt_currentstamp",dt_currentstamp()) 加工结果 dt_currentstamp: 1656560437
  • dt_totimestamp 将日期时间对象转换为Unix时间戳。 函数格式 dt_totimestamp(timeexpression) 参数说明 参数名称 参数类型 是否必填 说明 timeexpression 日期时间对象 是 需要被转换的日期时间对象。 返回结果 返回转换后的Unix时间戳。 函数示例 测试数据 { "time": "2019-06-03 2:41:26" } 加工规则 e_set("dt_totimestamp",dt_totimestamp(dt_parse(v("time")))) 加工结果 time: 2019-06-03 2:41:26 dt_totimestamp: 1559529686
  • dt_strftimestamp 将Unix时间戳按照指定格式转换为字符串。 函数格式 dt_strftimestamp(value, fmt="format_string", tz=None) 参数说明 参数名称 参数类型 是否必填 说明 value String 是 需要被转换的Unix时间戳。 fmt String 是 格式化字符串。 tz String 否 表示时区,默认为None。 返回结果 返回格式化后的字符串。 函数示例 示例1 测试数据 { "time": "1559500886", "fmt": "%Y/%m/%d %H-%M-%S" } 加工规则 e_set("dt_strftimestamp",dt_strftimestamp(v("time"),v("fmt"))) 加工结果 time: 1559500886 fmt: %Y/%m/%d %H-%M-%S dt_strftimestamp: 2019/06/02 18-41-26 示例2 测试数据 { "time": "1559500886", "fmt": "%Y/%m/%d %H-%M-%S", "tz": "Asia/shanghai" } 加工规则 e_set("dt_strftimestamp",dt_strftimestamp(v("time"),v("fmt"),v("tz"))) 加工结果 dt_strftimestamp:2019/06/03 03-41-26 fmt:%Y/%m/%d %H-%M-%S time:1559500886 tz:Asia/shanghai
  • dt_strftime 将日期时间对象按照指定格式转换为字符串。 函数格式 dt_strftime(timeexpression, "format_string") 参数说明 参数名称 参数类型 是否必填 说明 timeexpression 日期时间对象 是 需要被转换的日期时间对象。 format_string String 是 格式化字符串。 返回结果 返回格式化后的字符串。 函数示例 将time字段的值按照fmt格式转换。 测试数据 { "time": "2019-06-03 2:41:26", "fmt": "%Y/%m/%d %H-%M-%S" } 加工规则 e_set("dt_strftime",dt_strftime(dt_parse(v("time")),v("fmt"))) 加工结果 time: 2019-06-03 2:41:26 fmt: %Y/%m/%d %H-%M-%S dt_strftime: 2019/06/03 02-41-26
  • dt_now 获取当前日期时间对象。 函数格式 dt_now(tz=None) 参数说明 参数名称 参数类型 是否必填 说明 tz String 否 表示时区,默认为None。 返回结果 返回指定时区的时间对象。 函数示例 获取当前时间,时区是上海。 测试数据 { "tz": "Asia/Shanghai" } 加工规则 e_set("dt_now",dt_now(tz=v("tz"))) 加工结果 tz: Asia/Shanghai dt_now: 2022-06-30 11:21:25.111836+08:00
  • dt_today 获取当前日期,不含时间。 函数格式 dt_today(tz=None) 参数说明 参数名称 参数类型 是否必填 说明 tz String 否 表示时区,默认为None。 返回结果 返回指定时区的日期对象。 函数示例 获取当前日期,不含时间。 测试数据 无 加工规则 e_set("dt_today", dt_today()) 加工结果 dt_today: 2022-06-30 00:00:00
  • dt_prop 获取值或时间表达式值的特定属性,包括所属day、year等。 函数格式 dt_prop(value, props) 参数说明 参数名称 参数类型 是否必填 说明 value 字符串、Unix时间戳或日期时间对象 是 值或时间表达式。 props String 是 需要获取的时间属性。 例如属性名为year,则只会输出年份。 参数值可以为day、year、month、hour、second、minute、microsecond、weekday、weekdayname、weekdayshortname、monthname、monthshortname、dayofyear、dayofweek、weekofyear、weekofyear_m、tzname、weekofmonth。 返回结果 返回提取的属性。 函数示例 示例1:提取time字段的值的day属性值。 测试数据 { "time": "2018-10-2 09:11:40" } 加工规则 e_set("dt_parsetimestamp",dt_prop(dt_parse(v("time")),"day")) 加工结果 time: 2018-10-2 09:11:40 dt_parsetimestamp: 2 示例2:提取time字段的值的year属性值。 测试数据 { "time": "2018-10-2 09:11:40" } 加工规则 e_set("dt_parsetimestamp",dt_prop(dt_parse(v("time")),"year")) 加工结果 time: 2018-10-2 09:11:40 dt_parsetimestamp: 2018 示例3:提取time字段的值的weekdayname属性值。 测试数据 { "time": "2018-10-2 09:11:40" } 加工规则 e_set("dt_prop",dt_prop(dt_parse(v("time")),"weekdayname")) 加工结果 time: 2018-10-2 09:11:40 dt_prop: Tuesday 示例4:提取time字段的值的weekofyear属性值。 测试数据 { "time": "2018-10-2 09:11:40" } 加工规则 e_set("dt_prop",dt_prop(dt_parse(v("time")),"weekofyear")) 加工结果 time: 2018-10-2 09:11:40 dt_prop: 39
  • dt_strptime 将时间字符串解析为日期时间对象。 函数格式 dt_strptime(value, "format_string") 参数说明 参数名称 参数类型 是否必填 说明 value String 是 值或时间表达式。 fmt String 否 格式化字符串。 返回结果 返回解析后的日期时间对象。 函数示例 测试数据 { "time": "2019/06/03 02-41-26", "fmt": "%Y/%m/%d %H-%M-%S" } 加工规则 e_set("dt_strptime",dt_strptime(v("time"),v("fmt"))) 加工结果 time: 2019/06/03 02-41-26 fmt: %Y/%m/%d %H-%M-%S dt_strptime: 2019-06-03 02:41:26
  • dt_fromtimestamp 将Unix时间戳转换为日期时间对象。 函数格式 dt_fromtimestamp(value, tz=None) 参数说明 参数名称 参数类型 是否必填 说明 value String 是 值或时间表达式。 tz String 否 表示时区,默认为None。 返回结果 返回转换后的日期时间。 函数示例 示例1:把time字段的值转化成日期时间对象。 测试数据 { "time": "1559500886" } 加工规则 e_set("dt_fromtimestamp",dt_fromtimestamp(v("time"))) 加工结果 time: 1559500886 dt_fromtimestamp: 2019-06-02 18:41:26 示例2:把time字段的值转化成日期时间对象,时区上海。 测试数据 { "time": "1559500886" "tz": "Asia/Shanghai" } tz: Asia/Shanghai 加工规则 e_set("dt_fromtimestamp",dt_fromtimestamp(v("time"),tz=v("tz"))) 加工结果 time: 1559500886 tz: Asia/Shanghai dt_fromtimestamp: 2019-06-03 02:41:26
  • dt_utcfromtimestamp 将Unix时间戳转换为当前时区的日期时间对象。 函数格式 dt_utcfromtimestamp(value) 参数说明 参数名称 参数类型 是否必填 说明 value String 是 值或时间表达式。 返回结果 返回转换后的日期时间对象。 函数示例 测试数据 { "time": "1559500886" } 加工规则 e_set("dt_utcfromtimestamp",dt_utcfromtimestamp(v("time"))) 加工结果 time: 1559500886 dt_utcfromtimestamp: 2019-06-02 18:41:26
  • 函数列表 类型 函数 说明 通用日期时间转换 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 将时间字符串解析为日期时间对象。 获取Unix时间戳 dt_currentstamp 获取当前Unix时间戳。 dt_totimestamp 将日期时间对象转换为Unix时间戳。 获取日期时间字符串 dt_strftime 将日期时间对象按照指定格式转换为字符串。 dt_strftimestamp 将Unix时间戳按照指定格式转换为字符串。 修改日期时间 dt_truncate 从值或时间表达式中截取指定的时间粒度。 dt_add 根据指定的时间粒度修改值或时间表达式的值。 dt_MO dt_add函数中传递给weekday参数的值,用于表示特定星期一的偏移量。 dt_TU dt_add函数中传递给weekday参数的值,用于表示特定星期二的偏移量。 dt_WE dt_add函数中传递给weekday参数的值,用于表示特定星期三的偏移量。 dt_TH dt_add函数中传递给weekday参数的值,用于表示特定星期四的偏移量。 dt_FR dt_add函数中传递给weekday参数的值,用于表示特定星期五的偏移量。 dt_SA dt_add函数中传递给weekday参数的值,用于表示特定星期六的偏移量。 dt_SU dt_add函数中传递给weekday参数的值,用于表示特定星期日的偏移量。 修改日期时区 dt_astimezone 将值或时间表达式的值转换为特定时区的日期时间对象。 获取差异 dt_diff 按照特定粒度获取两个值或时间表达式值的差异值。
  • dt_parse 将值或时间表达式的值转换为日期时间对象。 函数格式 dt_parse(value, tz=None) 参数说明 参数名称 参数类型 是否必填 说明 value 字符串、Unix时间戳或日期时间对象 是 值或时间表达式。 tz String 否 表示时区,默认为None。 返回结果 返回转换后的日期时间对象。 函数示例 示例1:将time字段的值转化成日期时间。 测试数据 { "time": "1559500886" } 加工规则 e_set("test_time", dt_parse(v("time"))) 加工结果 time: 1559500886 test_time: 2019-06-02 18:41:26 示例2:将time字段的值转化成日期时间,时区是上海。 测试数据 { "time": "2019-06-01 10:10:10" "tz": "Asia/Shanghai" } 加工规则 e_set("test_time", dt_parse(v("time"),tz=v("tz"))) 加工结果 time: 2019-06-01 10:10:10 tz: Asia/Shanghai test_time: 2019-06-01 10:10:10+08:00
  • dt_str 将值或时间表达式的值转换为字符串。 函数格式 dt_str(value, fmt="format_string", tz=None) 参数说明 参数名称 参数类型 是否必填 说明 value 字符串、Unix时间戳或日期时间对象 是 值或时间表达式。 fmt String 否 格式化字符串。 tz String 否 表示时区。 返回结果 返回转换后的时间字符串。 函数示例 示例1:把time字段的值转换成fmt形式,时区东京。 测试数据 { "time": "2019-06-03 02:41:26", "fmt": "%Y/%m/%d %H-%M-%S" , "tz": "Asia/Tokyo" } 加工规则 e_set("dt_str", dt_str(v("time"),fmt=v("fmt"),tz=v("tz"))) 加工结果 { "time": "2019-06-03 02:41:26" "fmt": "%Y/%m/%d %H-%M-%S" "tz": "Asia/Tokyo" "dt_str": "2019/06/03 02-41-26" } 示例2:把time字段的值(Unix时间戳)转换成fmt形式。 测试数据 { "time": "1559500886", "fmt": "%Y/%m/%d %H-%M-%S" } 加工规则 e_set("dt_str", dt_str(v("time"),fmt=v("fmt"))) 加工结果 time: 1559500886 fmt: %Y/%m/%d %H-%M-%S dt_str: 2019/06/02 18-41-26 示例3:把time字段的值转换成默认形式。 测试数据 { "time": "2019-06-03 02:41:26" } 加工规则 e_set("dt_str", dt_str(v("time"))) 加工结果 time: 2019-06-03 02:41:26 dt_str: 2019-06-03 02:41:26
  • dt_parsetimestamp 将值或时间表达式的值转换为Unix时间戳。 函数格式 dt_parsetimestamp(value, tz=None) 参数说明 参数名称 参数类型 是否必填 说明 value 字符串、Unix时间戳或日期时间对象 是 值或时间表达式。 tz String 否 表示时区,默认为None。 返回结果 返回转换后的Unix时间戳。 函数示例 示例1:把time字段的值转换成时间戳,时区是北京。 测试数据 { "time": "2019-06-03 2:41:26", "tz": "Asia/Tokyo" } 加工规则 e_set("dt_parsetimestamp", dt_parsetimestamp(v("time"),v("tz"))) 加工结果 time: 2019-06-03 2:41:26 tz: Asia/Tokyo dt_parsetimestamp: 1559497286 示例2:把time字段的值转换成Unix时间戳。 测试数据 { "time": "2019-06-03 2:41:26" } 加工规则 e_set("dt_parsetimestamp",dt_parsetimestamp(v("time"))) 加工结果 time: 2019-06-03 2:41:26 dt_parsetimestamp: 1559529686 示例3:把time字段的值转换成Unix时间戳。 测试数据 { "time": "2019-06-03 2:41:26" } 加工规则 e_set("dt_parsetimestamp",dt_parsetimestamp(v("time"))) 加工结果 time: 2019-06-03 02:41:26+8:00 dt_parsetimestamp: 1559500886
  • ip_overlaps 两个网段是否存在重叠。 函数格式 ip_overlaps(cidr_subnet, cidr_subnet2, default="") 参数说明 参数名称 参数类型 是否必填 说明 cidr_subnet String 是 输入CIDR地址块1。 cidr_subnet2 String 是 输入CIDR地址块2。 default String 否 无法判断两个CIDR地址块是否重叠时,返回该值。 返回结果 0: 两个CIDR地址块不重叠 1: 两个CIDR地址块重叠在结束位置 -1: 两个CIDR地址块重叠在开始位置 函数示例 示例1:两个CIDR地址块不重叠。 测试数据 { "a": "192.168.0.0/24", "b": "192.168.1.0/24" } 加工规则 e_set("result",ip_overlaps(v("a"),v("b"))) 加工结果 a: 192.168.0.0/24 b: 192.168.1.0/24 result: 0 示例2:两个CIDR地址在开始位置重叠。 测试数据 { "a": "192.168.1.0/24", "b": "192.168.0.0/23" } 加工规则 e_set("result",ip_overlaps(v("a"),v("b"))) 加工结果 a: 192.168.1.0/24 b: 192.168.0.0/23 result: 1 示例3:两个CIDR地址在结尾位置重叠。 测试数据 { "a": "192.168.0.0/23", "b": "192.168.1.0/24" } 加工规则 e_set("result",ip_overlaps(v("a"),v("b"))) 加工结果 a: 192.168.0.0/23 b: 192.168.1.0/24 result: 1
  • long2ip 将长整型数据转换成字符串格式的IP地址。 函数格式 long2ip(value,default="") 参数说明 参数名称 参数类型 是否必填 说明 value String 是 需要被转换的值。 default String 否 表示将不合法的长整型数据转成空字符串。 返回结果 长整型转换成功后的IP地址。 函数示例 正确的转换。 测试数据 { "data": "1959903232" } 加工规则 e_set("ip",long2ip(v("data"))) 加工结果 data: 1959903232 ip: 116.209.192.0 转换失败后自定义的错误处理。 测试数据 { "data": "4294967296" } 加工规则 e_set("ip",long2ip(v("data"), default="error")) 加工结果 data: 4294967296 ip: error
  • ip2long 将字符串格式的IP地址转换成长整型数据。 函数格式 ip2long(value,default=0) 参数说明 参数名称 参数类型 是否必填 说明 value String 是 需要被转换的值。 default String 否 某个不合法的IP地址被转换成的值。 返回结果 转换后的长整型数据。 函数示例 正常解析。 测试数据 { "ip": "116.209.192.0" } 加工规则 e_set("result",ip2long(v("ip"))) 加工结果 result: 1959903232 ip: 116.209.192.0 非法解析。 测试数据 { "ip": "116.209.abc.xxx" } 加工规则 e_set("result",ip2long(v("ip"), "error")) 加工结果 result: error ip: 116.209.abc.xxx
  • ip_cidrmatch IP地址是否属于CIDR地址块。 函数格式 ip_cidrmatch(cidr_subnet, ip, default="") 参数说明 参数名称 参数类型 是否必填 说明 cidr_subnet String 是 CIDR地址块 ip String 是 IP地址。 default String 否 如果IP地址与CIDR地址块无法匹配时,返回该值。 返回结果 当IP地址属于CIDR地址块时,返回true,否则返回false。 函数示例 ipv4地址与CIDR地址块匹配。 测试数据 { "subnet": "192.168.1.0/24" } 加工规则 e_set("result",ip_cidrmatch(v("subnet"),"192.168.1.11")) 加工结果 subnet: 192.168.1.0/24 result: true ip地址与CIDR地址块无法匹配。 测试数据 { "subnet": "192.168.1.0/24" } 加工规则 e_set("result",ip_cidrmatch(v("subnet"),“192.168.100.10”, default="error")) 加工结果 subnet: 192.168.1.0/24 result: error
  • ip_type 判断IP地址是私有地址还是公有地址。 函数格式 ip_type(ip, default="") 参数说明 参数名称 参数类型 是否必填 说明 ip String 是 IP地址。 default String 否 无法判断IP地址类型时,返回该值。 返回结果 IP类型private、reserved、loopback、public和allocated ripe ncc。 函数示例 私有地址。 测试数据 { "ip": "10.1.2.3" } 加工规则 e_set("result",ip_type(v("ip"))) 加工结果 ip: 10.1.2.3 result: private Ipv6地址。 测试数据 { "ip": "127.0.0.1" } 加工规则 e_set("result",ip_type(v("ip"))) 加工结果 ip: 127.0.0.1 result: loopback
  • ip_makenet 将单个IP地址转换为CIDR地址块。 函数格式 ip_makenet(ip, subnet_mask=None, default="") 参数说明 参数名称 参数类型 是否必填 说明 ip String 是 IP地址 subnet_mask String 是 子网掩码, 如果ip中输入的是IP网段,则子网掩码可以为空。 default String 否 无法将IP地址转成CIDR地址块时,返回该值。 返回结果 CIDR地址块。 函数示例 ip地址范围转为CIDR地址块。 测试数据 { "ip": "192.168.10.0-192.168.10.255" } 加工规则 e_set("result",ip_makenet(v("ip"))) 加工结果 ip: 192.168.10.0-192.168.10.255 result: 192.168.10.0/24 ip地址转为CIDR地址块。 测试数据 { "ip": "192.168.10.0" } 加工规则 e_set("result",ip_makenet(v("ip"), “255.255.255.0”)) 加工结果 ip: 192.168.10.0 result: 192.168.10.0/24
  • ip_to_format 将输入的CIDR地址块按照Prefixlen或者Netmask格式输出。 函数格式 ip_to_format(cidr_subnet, want_prefix_len=0, default="") 参数说明 参数名称 参数类型 是否必填 说明 cidr_subnet String 是 输入CIDR地址块,例如:192.168.10.0/24 want_prefix_len Int 否 设置返回格式,默认为0。 0:无格式返回。 1:prefix格式返回。 2:netmask格式返回。 3:IP网段格式返回。 default String 否 无法将输入的CIDR地址块按照格式输出时,返回该值。 返回结果 特定格式的IP地址。 函数示例 按照IP地址网段格式输出。 测试数据 { "ip": "192.168.11.0/24" } 加工规则 e_set("result",ip_to_format(v("ip"),3)) 加工结果 ip: 192.168.11.0/24 result: 192.168.11.0-192.168.11.255 按照netmask格式输出。 测试数据 { "ip": "192.168.11.0/24" } 加工规则 e_set("result",ip_to_format(v("ip"),2)) 加工结果 ip: 192.168.11.0/24 result: 192.168.11.0/255.255.255.0 按照prefix格式输出。 测试数据 { "ip": "192.168.11.0/24" } 加工规则 e_set("result",ip_to_format(v("ip"),1)) 加工结果 ip: 192.168.11.0/24 result: 192.168.11.0/24
  • ip_version 判断IP地址为IPv4还是IPv6。 函数格式 ip_version(ip, default="") 参数说明 参数名称 参数类型 是否必填 说明 ip String 是 输入IP地址。 default String 否 无法判断IP地址版本时,返回该值。 返回结果 IPv4或IPv6。 函数示例 Ipv4地址。 测试数据 { "ip": "10.21.115.10" } 加工规则 e_set("version",ip_version(v("ip"))) 加工结果 ip: 10.21.115.10 version: IPv4 Ipv6地址。 测试数据 { "ip": "2001:0db8:85a3:0000:0000:8a2e:0370:7334" } 加工规则 e_set("version",ip_version(v("ip"))) 加工结果 ip: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 version: IPv6
  • geo_parse 根据IP地址解析出所属国家、省份和市信息。 函数格式 geo_parse(ip, keep_fields=None, ip_sep=None) 参数说明 参数名称 参数类型 是否必填 说明 ip String 是 IP地址,表示解析该IP地址所属国家、省分和市信息。如果包含多个IP地址,可通过ip_sep参数指定分割符。 keep_fields Tuple 否 返回结果中包含的key信息。支持的key如下列表: city:城市名称。 province:省份名称。 country:国家名称。 isp:所属网络运营商名称。 lat:IP地址所在位置的纬度。 lon:IP地址所在位置的经度。 例如keep_fields=("city","country")表示仅输出city和country字段信息。 此外keep_fields也支持重命名。例如(("city","cty"),("country","state"))表示以cty和state形式输出。 ip_sep String 否 IP地址分隔符,用于将包含多个IP地址的字符串分割为多个IP地址,解析结果通过JSON格式返回。默认值为None,表示不进行分隔。 返回结果 返回字典形式数据。 函数示例 单个IP查询。 测试数据 { "ip": "192.168.0.1" } 加工规则 e_set("geo_parse", geo_parse("192.168.0.1")) 加工结果 ip: 192.168.0.1 geo_parse: {"city": "深圳市", "province": "广东省", "country": "中国", "isp": "电信", "lat": "22.6543145968063", "lon": "114.125452397915"} 多个IP查询。 测试数据 { "ip": "192.168.0.1" } 加工规则 e_set("geo_parse", geo_parse("192.168.0.0,192.168.0.1,192.168.0.2", ip_sep=",")) 加工结果 geo_parse: {"192.168.0.0": {"province": "福建省", "country": "中国", "lat": "26.07718", "lon": "119.291346"}, "192.168.0.2": {"city": "深圳市", "province": "广东省", "country": "中国", "isp": "电信", "lat": "22.6543145968063", "lon": "114.125452397915"}} ip: 192.168.0.1
  • 函数列表 类型 函数 说明 多字符串操作 str_format 按照指定格式对字符串进行格式化。 str_join 通过连接符将输入的字符串连接生成一个新的字符串。 str_zip 将两个值或表达式的字符串进行并发分裂然后再合并成一个字符串。 排序、反转、替换 str_sort 字符串排序。 str_reverse 将一个字符串进行反转。 str_replace 根据规则将旧字符串替换成新字符串。 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 将字符串中的\t转为空格。 字符集判断 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。
  • e_pack_fields 用e_pack_fields函数将日志字段进行打包,并输出到新的字段中。 函数格式 e_pack_fields(output_fields,include=".*",exclude=None,drop_packed=true) 参数说明 参数 类型 是否必填 说明 output_field String 是 指定打包后输出的字段名称。其值为JSON格式。 include String 否 白名单配置,符合正则表达式的字段会被打包。默认为".*" ,表示全部匹配。 exclude String 否 黑名单配置,符合正则表达式的字段不会被打包。默认为None,表示不进行匹配判断。 drop_packed Boolean 否 打包数据后是否删除被打包的原数据,默认为true。 true(默认值):输出结果中删除被打包的原数据。 false:输出结果中不删除被打包的原数据。 返回结果 返回被打包后的日志数据。 函数示例 示例1:将日志所有字段打包到test字段,默认删除被打包的原始字段。 测试数据 { "test1":123, "test2":456, "test3":789 } 加工规则 e_pack_fields("test") 加工结果 test:{"test1": "123", "test2": "456", "test3": "789"} 示例2:将日志所有字段打包到test字段,不删除被打包的原始字段。 测试数据 { "test1":123, "test2":456, "test3":789 } 加工规则 e_pack_fields("test",drop_packed=false) 加工结果 test:{"test1": "123", "test2": "456", "test3": "789"} test1:123 test2:456 test3:789 示例3:打包test和abcd字段到content字段,不删除被打包的原始字段。 测试数据 { "abcd@#%":123, "test":456, "abcd":789 } 加工规则 e_pack_fields("content", include="\w+", drop_packed=false) 加工结果 abcd:789 abcd@#%:123 content:{"test": "456", "abcd": "789"} test:456 示例4:不打包test和abcd字段,其余字段打包到content字段,删除被打包的原始字段。 测试数据 { "abcd@#%":123, "test":456, "abcd":789 } 加工规则 e_pack_fields("content", exclude="\w+", drop_packed=true) 加工结果 abcd:789 content:{"abcd@#%": "123"} test:456
  • e_rename 调用e_rename函数重命名符合条件的日志字段名称。 函数格式 e_rename("key1", "new key1", "key2", "new key2", ..., regex=false) 函数中key和new key必须成对出现。 参数说明 参数 参数类型 是否必填 说明 key String 是 日志字段名,可以为正则表达式。当字段名完全满足条件时,重命名该字段。至少需要配置一个字段。 new key String 是 重命名后的字段名。 regex Boolean 否 如果设置为false,表示不使用正则表达式进行匹配。当不配置该参数时,系统默认取值为true。 返回结果 返回重命名后的字段。 函数示例 示例1:将字段host重命名为client_hos。 测试数据 { "host": 1006 } 加工规则 e_rename("host","client_host") 加工结果 client_host: 1006 示例2:不存在字段时,不进行重命名。 测试数据 { "host": 1006 } 加工规则 e_rename("url","rename_url") 加工结果 host: 1006 更多参考 支持和其他函数组合使用。
共100000条