- 文档首页
日志服务
用户指南
数据处理
数据加工
语法与函数
全局操作函数
事件处理函数
事件处理函数
本文档介绍事件处理函数的语法与格式、相关的场景示例等。
e_output 函数
输出到指定别名的目标主题中。其中,日志主题别名即创建加工任务时指定的目标名称。
函数语法/格式
参数说明如下:
函数示例
- 场景:根据日志中字段 is_output 的值判断是否要输出该日志到别名为 target-1 的日志主题中。
Tip
第一条日志输出到别名为 target-1 的日志主题中,第二条日志不输出。
将日志动态分发到不同的日志主题中。例如日志字段 service 的值为 tos、kafka,您可以指定 e_auto_output 函数根据 service 的值将日志动态分发到名为 tos、kafka 的日志主题中。如果日志主题 tos、kafka 不存在,系统会先创建日志主题。
参数说明如下:
说明
- 如果已存在相同名称的日志项目、日志主题,系统不会重复创建。
- 通过字段值动态创建日志项目、日志主题时,字段值必须符合资源命名要求,否则使用 e_auto_output 函数时将报错。详细说明,请参考资源命名限制。
函数示例 1:
- 场景:从 service 字段中提取值,然后根据该值将日志动态分发到对应的日志主题中,并且为该日志主题开启全文索引。如果日志项目和日志主题不存在,系统会根据您在函数中指定的值进行创建。
- 将日志 1 分发到 myproject 日志项目下的 tos 日志主题中。
- 将日志 2 分发到 myproject 日志项目下的 kafka 日志主题中。
函数示例 2:
- 场景:从 project-name 字段和 topic-name 字段中提取值,然后根据该值将日志分发到对应的日志主题中,并且为该日志主题添加标签 key1:value1 和 key2:value2,以及开启全文索引。如果日志项目和日志主题不存在,系统会根据您在函数中指定的值进行创建。
- 将日志 1 分发到 myproject01 日志项目下的 accesslog01 日志主题中,并且为该日志主题添加标签 key1:value1 、 key2:value2,以及开启全文索引。
- 将日志 2 分发到 myproject02 日志项目下的 accesslog02 日志主题中,并且为该日志主题添加标签 key1:value1 、 key2:value2,以及开启全文索引。
函数示例 3:
- 场景:从 project-name 字段和 topic-name 字段中提供日志项目名和日志主题名,然后根据该值将日志分发到对应的日志主题中,且关闭该日志主题的全文索引。如果日志项目和日志主题不存在,系统会根据您在函数中指定的值进行创建。
- 将日志 1 分发到 myproject01 日志项目下的 accesslog01 日志主题中,并且关闭该日志主题的全文索引。
- 将日志 2 分发到 myproject02 日志项目下的 accesslog02 日志主题中,并且关闭该日志主题的全文索引。
e_split 函数
使用分隔符对特定字段进行拆分,拆分结果分裂为多条日志。
函数语法/格式
分裂规则:
- 规则 1:如果配置了 jmes 参数,则将日志字段的值转化为 JSON 列表,再使用 jmes 提取值作为下一步的值。此时 sep 和 quote 参数的指定无效。如果没有配置 jmes 参数,按规则 2 进行分裂。
- 规则 2:如果上一步的值是一个列表或 JSON 列表格式的字符串,则按照此列表分裂并结束处理,此时 sep 和 quote 参数的指定无效。如果不是 JSON 列表或 JSON 列表字符串,按规则 3 进行分裂。
- 规则 3:使用 sep、quote 和 lstrip 将上一步的值进行 CSV 解析,根据解析后的多个值进行分裂并结束处理。
参数说明如下:
函数示例
e_drop 函数
丢弃符合条件的日志。
函数语法/格式
参数说明如下:
函数示例
- 场景:根据日志字段 city 的值判断是否丢弃该日志。
e_keep 函数
保留符合条件的日志,不符合条件则丢弃。
函数语法/格式
参数说明如下:
函数示例
- 场景:根据日志字段 city 的值判断是否保留该日志。
最近更新时间:2026.09.21 18:48:14