You need to enable JavaScript to run this app.
文档中心
日志服务

日志服务

复制全文
下载 pdf
全局操作函数
流程控制函数
复制全文
下载 pdf
流程控制函数
本文档介绍流程控制函数的语法与格式、相关的场景示例等。​
c_if 函数​
对符合条件的日志,进行相应的加工处理,否则不进行任何处理。​
  • 函数参数中的条件和操作必须成对出现,且必须满足至少有一个条件和至少一个操作。​
  • 参数中存在多个为真的条件时,只执行第一个真条件对应的操作。​
函数语法/格式​
​
c_if(条件1, 操作1, 条件2, 操作2, ……)​
​
参数说明如下:​
​
参数​
参数类型​
是否必选​
默认值​
取值范围​
说明​
条件​
任意​
是​
/​
/​
表达式或其组合,如果不是布尔类型时,会转换为布尔类型再判断。​
操作​
全局操作函数​
是​
/​
/​
全局操作函数或其组合。​
​
函数示例​
  • 场景:原始日志中存在字段 phone 时新增字段 contact_type。​
  • 加工规则:​
  • ​
    c_if(f_has("phone"), f_set("contact_type", "telephone"))​
    ​
  • 日志样例:​
  • ​
    [​
    {​
    "user_name":"Smith",​
    "phone":"135xxxx5678"​
    },​
    {​
    "user_name":"Paul",​
    "city":"chengdu"​
    }​
    ]​
    ​
  • 加工结果:​
  • ​
    [​
    {​
    "user_name":"Smith",​
    "phone":"135xxxx5678",​
    "contact_type":"telephone"​
    },​
    {​
    "user_name":"Paul",​
    "city":"chengdu"​
    }​
    ]​
    ​
Tip​
第一条日志中存在字段 phone,加工后增加了字段 contact_type;第二条日志中没有字段 phone,加工不新增字段 contact_type。​
c_if_else 函数​
基于条件判断,分别进行不同的逻辑处理。当条件为真时,执行操作 1,否则执行操作 2。​
函数语法/格式​
​
c_if_else(条件, 操作1, 操作2)​
​
参数说明如下:​
​
参数​
参数类型​
是否必选​
默认值​
取值范围​
说明​
条件​
任意​
是​
/​
/​
表达式或其组合,如果不是布尔类型时,会转换为布尔类型再判断。​
操作 1​
全局操作函数​
是​
/​
/​
全局操作函数或其组合。​
操作 2​
全局操作函数​
是​
/​
/​
全局操作函数或其组合。​
​
函数示例​
  • 场景:根据年龄字段 age 判断是否是成年人,并将判断结果输出到新增字段 is_adult 中。​
  • 加工规则:​
  • ​
    c_if_else(op_ge(v("age"), 18), f_set("is_adult", True), f_set("is_adult", False))​
    ​
  • 日志样例:​
  • ​
    [​
    {​
    "name":"Agatha",​
    "age":20​
    },​
    {​
    "name":"Elvin",​
    "age":17​
    }​
    ]​
    ​
  • 加工结果:​
  • ​
    [​
    {​
    "name":"Agatha",​
    "age":20,​
    "is_adult":true​
    },​
    {​
    "name":"Elvin",​
    "age":17,​
    "is_adult":false​
    }​
    ]​
    ​
c_switch 函数​
基于条件判断,分别进行不同的逻辑处理。基于多分支条件,执行第一个为真的条件对应的操作。如果所有条件均不满足,则执行 default 指定的默认操作。​
函数语法/格式​
​
c_switch(条件1, 操作1, 条件2, 操作2, ..., default=默认操作)​
​
参数说明如下:​
​
参数​
参数类型​
是否必选​
默认值​
取值范围​
说明​
条件​
任意​
是​
/​
/​
表达式或其组合,如果不是布尔类型时,会转换为布尔类型再判断。​
操作​
全局操作函数​
是​
/​
/​
全局操作函数或其组合。​
default​
全局操作函数​
否​
/​
/​
默认操作,全局操作函数或其组合。​
​
函数示例​
  • 场景:根据日志字段 city 判断所属地域。​
  • 加工规则:​
  • ​
    c_switch(op_eq(v("city"), "chengdu"), f_set("region", "West"), op_eq(v("city"), "shanghai"), f_set("region", "East"))​
    ​
  • 日志样例:​
  • ​
    [​
    {​
    "name":"Agatha",​
    "city":"chengdu"​
    },​
    {​
    "name":"Elvin",​
    "city":"shanghai"​
    }​
    ]​
    ​
  • 加工结果:​
  • ​
    [​
    {​
    "name":"Agatha",​
    "city":"chengdu",​
    "region":"West"​
    },​
    {​
    "name":"Elvin",​
    "city":"shanghai",​
    "region":"East"​
    }​
    ]​
    ​
c_compose 函数​
用于组合多个操作,多个操作应均为全局操作函数。​
  • 日志服务会依次调用指定的操作,并将日志传递、转换并返回最后的日志数据。​
  • 对于某一条日志数据,如果其中某一全局操作删除了日志,日志服务不会再对其执行后续操作。​
函数语法/格式​
​
c_compose(操作1, 操作2, ...)​
​
参数说明如下:​
​
参数​
参数类型​
是否必选​
默认值​
取值范围​
说明​
操作​
全局操作函数​
是​
/​
/​
多个全局操作函数或其组合。​
​
函数示例​
  • 场景:日志中包含 content 字段时,更新其值为 value1 并重命名为 content_modified。​
  • 加工规则:​
  • ​
    c_if(f_has("content"),c_compose(f_set("content","value1"),f_rename("content","content_modified")))​
    ​
  • 日志样例:​
  • ​
    {​
    "content":"value"​
    }​
    ​
  • 加工结果:​
  • ​
    {​
    "content_modified":"value1"​
    }​
    ​
​
最近更新时间:2026.09.21 18:48:13
这个页面对您有帮助吗?
有用
有用
无用
无用