华为云用户手册

  • 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
  • 函数列表 类型 函数 说明 通用日期时间转换 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 按照特定粒度获取两个值或时间表达式值的差异值。
  • regex_split 将一个字符串分割成字符串数组。 函数格式 regex_split(value, r"regular expression", maxsplit=0) 参数说明 参数名称 参数类型 是否必填 说明 value 任意 是 要分裂的值。 regular expression String 是 正则表达式。 maxsplit int 否 最大分裂匹配次数。默认为0表示全部匹配分裂,如果为1,表示匹配中一个就分裂,剩余不再进行匹配。 返回结果 返回分割后的数组列表。 函数示例 将字段str按照数字进行分裂。 测试数据 { "str": "iZbp1a65x3r1vhpe94fi2qZ" } 加工规则 e_set("regex_split", regex_split(v("str"),r"\d+")) 加工结果 str: iZbp1a65x3r1vhpe94fi2qZ regex_split: ["iZbp", "a", "x", "r", "vhpe", "fi", "qZ"]
  • regex_replace 根据正则表达式替换字符串中的指定字符。 函数格式 regex_replace(value, r"regular expression", replace="", count=0) 参数说明 参数名称 参数类型 是否必填 说明 value 任意 是 要被替换的值。 regular expression String 是 正则表达式。 replace String 否 替换后的新字符。默认为空,表示删除字符。 支持正则表达式,例如r"\1****\2",表示替换后的字符串要满足该正则表达式。 \1代表第一个分组。 \2代表第二个分组。 count Number 否 替换次数。 默认为0,表示替换所有。 返回结果 返回替换后的新字符串。 函数示例 示例1:把str中的所有数字用13替换。 测试数据 { "str": "iZbp1a65x3r1vhpe94fi2qZ ", "replace": "13" } 加工规则 e_set("regex_replace", regex_replace(v("str"),r"\d+",v("replace"))) 加工结果 str: iZbp1a65x3r1vhpe94fi2qZ replace: 13 regex_replace: iZbp13a13x13r13vhpe13fi13qZ 示例2:对手机号中间4位数字进行脱敏处理。 测试数据 { "iphone": "13900001234" } 加工规则 replace=r"\1****\2"表示替换后的字符串要满足正则表达式r"\1****\2"。 \1代表第一个分组,即(\d{0,3})。 \2代表第二个分组,即(\d{4})。 e_set( "sec_iphone", regex_replace(v("iphone"), r"(\d{0,3})\d{4}(\d{4})", replace=r"\1****\2"), ) 加工结果 iphone: 13900001234 sec_iphone: 139****1234
  • regex_findall 根据正则表达式获得符合条件的所有值的一个列表。 函数格式 regex_findall(value, r"regular expression") 参数说明 参数名称 参数类型 是否必填 说明 value 任意 是 要匹配的值。 regular expression String 是 正则表达式。 返回结果 返回获得符合条件的列表。 函数示例 获取字段str所有的数字。 测试数据 { "str": "iZbp1a65x3r1vhpe94fi2qZ" } 加工规则 e_set("regex_findall", regex_findall(v("str"),r"\d+")) 加工结果 str: iZbp1a65x3r1vhpe94fi2qZ regex_findall: ["1", "65", "3", "1", "94", "2"]
  • regex_match 判断是否匹配正则表达式。 函数格式 regex_match(value, r"regular expression", full=false) 参数说明 参数名称 参数类型 是否必填 说明 value 任意 是 要匹配的值。 regular expression String 是 正则表达式。 full Bool 否 是否完全匹配,默认为false。 返回结果 返回true或者false。 函数示例 判断字段str是否包含数字。 测试数据 { "str": "iZbp1a65x3r1vhpe94fi2qZ" } 加工规则 # 判断字段str是否包含数字。 e_set("regex_match", regex_match(v("str"),r"\d+")) # 判断字段str是否全部为数字。 e_set("regex_match2", regex_match(v("str"),r"\d+",full=true)) 加工结果 str: iZbp1a65x3r1vhpe94fi2qZ regex_match: true regex_match2: false
  • regex_select 函数格式 regex_select(value, r"regular expression", mi=None, gi=None) 参数说明 参数名称 参数类型 是否必填 说明 value 任意 是 填入要匹配的值。 regular expression String 是 匹配的正则表达式。 mi int 否 表示匹配到的第几个表达式,默认None,表示第一个。 gi int 否 表示匹配到的第几个分组,默认None,表示第一个。 返回结果 返回提取的值。 函数示例 示例1:提取字段str中符合正则表达式的第一个值。 测试数据 { "str": "iZbp1a65x3r1vhpe94fi2qZ" } 加工规则 e_set("regex", regex_select(v("str"), r"\d+")) e_set("regex2", regex_select(v("str"), r"\d+", mi=None)) e_set("regex3", regex_select(v("str"), r"\d+", mi=0)) 加工结果 regex:1 regex2:1 regex3:1 str:iZbp1a65x3r1vhpe94fi2qZ 示例2:提取字段str中符合正则表达式的第一个和第二个的值。 测试数据 { "str": "abc123 xyz456" } 加工规则 # 提取字段str中符合正则表达式的第一个值。 e_set("regex", regex_select(v("str"), r"\d+")) # 提取字段str中符合正则表达式的第二个值。 e_set("regex2", regex_select(v("str"), r"\d+", mi=1)) 加工结果 regex: 123 regex2: 456 str: abc123 xyz456 示例3:提取字段str中不同表达式的不同分组的值。 测试数据 { "str": "abc123 xyz456" } 加工规则 # 提取字段str中符合正则表达式的第一个表达式的第一个分组的值。 e_set("regex", regex_select(v("str"),r"[a-z]+(\d+)",gi=0)) # 提取字段str中符合正则表达式的第二个表达式的第一个分组的值。 e_set("regex2", regex_select(v("str"),r"[a-z]+(\d+)",mi=1,gi=0)) # 提取字段str中符合正则表达式的第一个表达式的第一个分组的值。 e_set("regex3", regex_select(v("str"),r"([a-z]+)(\d+)",gi=0)) # 提取字段str中符合正则表达式的第一个表达式的第二个分组的值。 e_set("regex4", regex_select(v("str"),r"([a-z]+)(\d+)",gi=1)) 加工结果 str: abc123 xyz456 regex: 123 regex2: 456 regex3: abc regex4: 123
  • json_select 根据JMES语法提取或计算JSON表达式中特定的值。 函数格式 json_select(value, jmes, default=None, restrict=false) 参数说明 参数 类型 是否必填 说明 value String、JSON 是 传入待提取字段的JSON表达式或字段。 jmes String 是 JMES表达式,表示提取的字段。 default String 否 如果提取字段不存在,则返回此处设置的值。默认为None,表示不返回字段。 restrict Bool 否 提取字段的值不是合法的JSON格式时,是否严格限制加工。 默认值false。 false:忽略报错,数据加工继续处理,返回default定义的值。 true:直接报错,数据加工不再继续处理,直接丢弃该条日志。 返回结果 返回提取到的值。 函数示例 示例1:从content字段提取元素name的值。 测试数据 { "content": {"name": "xiaoming", "age": 10} } 加工规则 e_set("json_filter",json_select(v("content"), "name")) 加工结果 content: {"name": "xiaoming", "age": 10} json_filter: xiaoming 示例2:从content字段提取元素name包含的所有值。 测试数据 { "content": {"name": ["xiaoming", "xiaowang", "xiaoli"], "age": 10} } 加工规则 e_set("json_filter", json_select(v("content"), "name[*]")) 加工结果 content: {"name": ["xiaoming", "xiaowang", "xiaoli"], "age": 10} json_filter: ["xiaoming", "xiaowang", "xiaoli"] 示例3:从content字段提取元素name3的值,若字段不存在,则返回default的值。 测试数据 { "content": {"name": "xiaoming", "age": 10} } 加工规则 e_set("json_filter", json_select(v("content"), "name3", default="None")) 加工结果 content: {"name": "xiaoming", "age": 10} json_filter: None 示例4:从content字段提取携带短划线(-)的元素name-test的值。 测试数据 { "content": {"name": {"name-test":"xiaoming"}, "age": 10} } 加工规则 e_set("json_filter", json_select(v("content"), 'name."name-test"', default=None)) 加工结果 content: {"name": {"name-test":"xiaoming"}, "age": 10} json_filter: xiaoming 示例5:从content字段提取携带短划线(-)的元素name-test的值,若元素不存在,则不返回字段。 测试数据 { "content": {"name": {"name.test":"xiaoming"}, "age": 10} } 加工规则 e_set("json_filter", json_select(v("content"), 'name."name-test"', default=None)) 加工结果 content: {"name": {"name-test":"xiaoming"}, "age": 10}
  • json_parse 将值解析为JSON对象。 函数格式 json_parse(value, default=None, restrict=false) 参数说明 参数 类型 是否必填 说明 value String 是 传入需要被解析的字段。 default String 否 如果解析字段不存在,则返回此处设置的值。默认为None,表示不返回字段。 restrict Bool 否 解析字段的值不是合法的JSON格式时,是否严格限制加工。 默认值false。 false:忽略报错,数据加工继续处理,返回default定义的值。 true:直接报错,数据加工不再继续处理,直接丢弃该条日志。 返回结果 返回转换后的JSON对象。 函数示例 示例1:提取content字段的JSON值。 测试数据 { "content": {"abc": 123, "xyz": "test" } } 加工规则 e_set("json", json_parse(v("content"))) 加工结果 content: {"abc": 123, "xyz": "test" } json: {"abc": 123, "xyz": "test"} 示例2:提取content字段的值,如果不是JSON格式,则返回default的值。 测试数据 { "content": "this is not json" } 加工规则 e_set("json", json_parse(v("content"), default="FFF", restrict=false)) 加工结果 content: this is not json json: FFF
  • 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
  • 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_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
  • 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_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_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_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形式输出。 注意:keep_fields参数为tuple类型,如果只有一个参数,需要添加逗号,例如("city",)或者(("city","cty"),) 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": "", "lon": ""} 多个IP查询。 测试数据 { "ip": "192.168.0.1" } 加工规则 e_set("geo_parse", geo_parse("192.168.0.1,192.168.0.2", ip_sep=",")) 加工结果(私网地址结果为空,使用公网地址可解析出内容) geo_parse: {"192.168.0.1": {"province": "", "country": "", "lat": "", "lon": ""}, "192.168.0.2": {"city": "", "province": "", "country": "", "isp": "", "lat": "", "lon": ""}} ip: 192.168.0.1
  • lst_insert 在列表特定位置插入元素。 函数格式 lst_insert(list_string, location, value1, value2, ...) 参数说明 参数名称 数据类型 是否必填 说明 list_string List 是 传入一个列表。 location Number 是 要插入的位置。 value1 String 是 要插入的元素。 value2 String 否 要插入的元素。 返回结果 返回插入元素后的列表。 函数示例 测试数据 { "ctx": ["k1","k2"] } 加工规则 e_set("hello", lst_insert(v("ctx"), 0, "k0")) 加工结果 ctx: ["k1","k2"] hello: ["k0", "k1", "k2"]
  • lst_append 在列表结尾追加元素。 函数格式 lst_append(list_string, value1, value2, ...) 参数说明 参数名称 数据类型 是否必填 说明 list_string List 是 传入一个列表。 value1 String 是 要添加的元素。 value2 String 否 要添加的元素。 返回结果 返回添加元素后的列表。 函数示例 测试数据 { "ctx": [ "k1", "k2" ] } 加工规则 e_set("hello", lst_append(v("ctx"), "k3")) 加工结果 ctx: ["k1","k2"] hello: ["k1", "k2", "k3"]
  • lst_delete_at 返回删除元素后的列表。 函数格式 lst_delete_at(list_string, location) 参数说明 参数名称 数据类型 是否必填 说明 list_string list 是 传入一个列表。 location Number 是 要删除元素的位置。第一个元素从位置0开始。 返回结果 返回获取的字典关键词列表。 函数示例 测试数据 { "ctx": ["k1","k2"] } 加工规则 e_set("hello", lst_delete_at(v("ctx"),1)) 加工结果 ctx: ["k1","k2"] hello: ["k1"]
  • lst_reverse 反向排序列表。 函数格式 lst_reverse(list_string) 参数说明 参数名称 数据类型 是否必填 说明 list_string List 是 传入一个列表。 返回结果 返回反转后的列表。 函数示例 测试数据 { "ctx":["v1","v2"] } 加工规则 e_set("hello", lst_reverse(v("ctx"))) 加工结果 ctx: ["v1","v2"] hello: ["v2","v1"]
  • lst_get 获取列表、元组中的一个元素。 函数格式 lst_get(list_string, location) 参数说明 参数名称 数据类型 是否必填 说明 ist_string List 是 传入一个列表。 location Int 是 从0开始计数,传入数字。例如数据为["a","b","c"],对应获取的元素位置分别为0,1,2。 返回结果 返回列表的其中一个元素。 函数示例 测试数据 { "ctx":["v1","v2"] } 加工规则 e_set("hello", lst_get(v("ctx"),1)) 加工结果 ctx: ["v1","v2"] hello: "v2"
  • lst_make 构建一个列表。 函数格式 lst_make(value1, value2, ...) 参数说明 参数名称 数据类型 是否必填 说明 value1 String 是 列表的元素。 value2 String 是 列表的元素。 返回结果 返回构建后的列表。 函数示例 测试数据 { "content":"test" } 加工规则 e_set("hello", lst_make("k1","k2")) 加工结果 content:test hello:["k1", "k2"]
  • dct_get 获取字典中某关键字的值。 函数格式 dct_get(dict,key,default=None) 参数说明 参数名称 数据类型 是否必填 说明 dict dict 是 字典数据。 key String 是 要获取值的关键字。 default String 否 key不存在时,返回该值。 返回结果 返回字典关键字的值。 函数示例 示例1: 测试数据 { "ctx": "{\"k1\":\"v1\",\"k2\":\"v2\"}" } 加工规则 e_set("hello", dct_get(v("ctx"), "k1")) 加工结果 ctx: {"k1":"v1","k2":"v2"} hello: v1 示例2: 测试数据 { "ctx": "{\"k1\":\"v1\",\"k2\":\"v2\"}" } 加工规则 e_set("hello", dct_get(v("ctx"), "k3",default="123")) 加工结果 ctx: {"k1":"v1","k2":"v2"} hello: 123
  • dct_keys 获取字典关键字列表。 函数格式 dct_keys(dict) 参数说明 参数名称 数据类型 是否必填 说明 dict dict 是 字典数据。 返回结果 返回获取的字典关键词列表。 函数示例 测试数据 { "ctx": "{\"k1\":\"v1\",\"k2\":\"v2\"}" } 加工规则 e_set("hello", dct_keys(v("ctx"))) 加工结果 ctx: {"k1":"v1","k2":"v2"} hello: ["k1","k2"]
  • dct_values 获取字典值列表。 函数格式 dct_values(dict) 参数说明 参数名称 数据类型 是否必填 说明 dict dict 是 字典数据。 返回结果 返回获取的字典词列表。 函数示例 测试数据 { "ctx": "{\"k1\":\"v1\",\"k2\":\"v2\"}" } 加工规则 e_set("hello", dct_values(v("ctx"))) 加工结果 ctx: {"k1":"v1","k2":"v2"} hello: ["v1","v2"]
  • dct_make 构建字典。 函数格式 dct_make(key1, value1, key2, value2, ...) 参数说明 参数名称 数据类型 是否必填 说明 key String 是 作为字典key的字符串。 value String 是 作为字典value的字符串。 返回结果 返回构建的字典。 函数示例 测试数据 { "content": "test" } 加工规则 e_set("hello", dct_make("k1","v1","k2","v2")) 加工结果 content:test hello:{"k1": "v1", "k2": "v2"}
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全