赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 数据加工
  6. 数据加工(旧版)
  7. 数据加工语法
  8. 通用参考
  9. 字段提取模式

字段提取模式

  • 通用参考
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

本文介绍函数中字段提取模式参数的取值以及含义。

相关函数

以下为使用字段提取模式mode参数的函数列表及其参数默认值。

分类

函数

mode的默认值

字段值赋值函数

e_set

overwrite

字段值提取函数

e_regex

fill-auto

e_json

fill-auto

e_kv

fill-auto

e_csv、e_psv、e_tsv

fill-auto

e_kv_delimit

fill-auto

e_anchor

overwrite

e_syslogrfc

overwrite

映射富化函数

e_dict_map

fill-auto

e_table_map

fill-auto

字段提取检查与覆盖模式

下表介绍字段提取模式mode参数的不同取值以及说明。

参数值

说明

fill

当目标字段不存在或者值为空时,设置目标字段。

fill-auto

当新值非空,且目标字段不存在或者值为空时,设置目标字段。

add

当目标字段不存在时,设置目标字段。

add-auto

当新值非空,且目标字段不存在时,设置目标字段。

overwrite

总是设置目标字段。

overwrite-auto

当新值非空,设置目标字段。

以下通过示例的方式对不同模式进行说明:

  • 原始日志

    a:         # 空值
    b: 100
  • 加工示例

    模式

    示例

    加工结果

    add

    e_set("c", "123", mode='add')

    a:# 空值
    b: 100
    c: 123

    e_set("c", "", mode='add')

    a:# 空值
    b: 100
    c:

    e_set("a", "123", mode='add')

    a:# 空值
    b: 100

    add-auto

    e_set("c", "", mode='add-auto')

    不添加字段c,原始日志不变。

    fill

    e_set("c", "123", mode='fill')

    a:# 空值
    b: 100
    c: 123

    e_set("c", "", mode='fill')

    a:# 空值
    b: 100
    c:

    e_set("a", "123", mode='fill')

    a: 123
    b: 100

    e_set("b", "123", mode='fill')

    目标字段不变,仍为b: 100。

    fill-auto

    e_set("c", "", mode='fill-auto')

    不添加字段c,原始日志不变。

    overwrite

    e_set("c", "123", mode='overwrite')

    a:# 空值
    b: 100
    c: 123

    e_set("c", "", mode='overwrite')

    a:# 空值
    b: 100
    c: 

    e_set("b", "200", mode='overwrite')

    a:# 空值
    b: 200

    e_set("b", "", mode='overwrite')

    a:# 空值
    b: 

    overwrite-auto

    e_set("b", "", mode='overwrite-auto')

    目标字段不变,仍为b: 100。

字段名提取约束

适用于e_json、e_kv,e_kv_delimit、e_regex等函数。

提取的字段名必须满足字符条件,否则会被丢弃。不支持正则表达式u'_*[\u4e00-\u9fa5\u0800-\u4e00a-zA-Z][\u4e00-\u9fa5\u0800-\u4e00\\w\\.\\-]*'。例如123=abc、__1__:100、1k=200、{"123": "456"}等字段名会被丢弃。

示例:使用默认的字段约束名。

  • 原始日志

    data: {"k1": 100, "k2": {"k3": 200, "k4": {"k5": 300} } }
  • 加工规则

    e_json(
        "data",
        fmt="parent",
        sep="@",
        prefix="__",
        suffix="__",
        include_node=r"[\u4e00-\u9fa5\u0800-\u4e00a-zA-Z][\w\-\.]*",
        mode="fill-auto",
    )
  • 加工结果

    data: {"k1": 100, "k2": {"k3": 200, "k4": {"k5": 300} } }
    data@__k1__:100
    k2@__k3__:200
    k4@__k5__:300
相关文章

标准编码格式 2025-04-22 10:54

本文列举了日志服务中支持的标准编码格式。

查询字符串语法 2025-04-22 10:54

查询字符串语法是SLS DSL中用于快速过滤数据的语法,可以简化条件判断。本文介绍查询字符串的通用语法规则。 函数列表

字段提取模式 2025-04-22 10:54

本文介绍函数中字段提取模式参数的取值以及含义。 相关函数 以下为使用字段提取模式mode参数的函数列表及其参数默认值。

正则表达式 2025-04-22 10:54

本文介绍正则表达式的匹配方式以及特殊字符的转义处理。 完全匹配 正则表达式的值与字符串完全一致,则是完全匹配。例如

GROK模式参考 2025-04-22 10:54

GROK是一种采用组合多个预定义的正则表达式,用来匹配分割文本并映射到关键字的工具。通常用来对日志数据进行处理。本文档主要介绍GROK的模式说明以及常用语法。 GROK模式及说明如下表所示。

JMES语法 2025-04-22 10:54

本文主要介绍JMES的常用语法和示例。 JMES是一个增强型的JSON查询计算语言,不仅可以对JSON数据进行提取,还可以做计算与转换。关于JMES语法的详细介绍请参见JMES Tutorial。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号