流程控制函数

日志服务 BLS

  • 功能发布记录
  • 产品描述
    • 产品介绍
    • 使用限制
  • 产品定价
  • 快速入门
    • 简介
    • 安装收集器
    • 创建日志集
    • 创建传输任务
    • 日志分析和报警
    • 创建投递任务
    • 创建日志集
    • 简介
    • 日志分析和报警
    • 创建投递任务
    • 创建传输任务
    • 安装收集器
  • 操作指南
    • 百度智能云环境准备
    • 概览
    • 收集器
      • 主机安装收集器
      • 在k8s环境安装收集器
      • 设置收集器启动参数
      • 收集器管理
      • 收集器发行版本
    • 查询分析
      • 日志查询
      • 检索语法
      • SQL语法
    • 日志采集
      • 传输任务采集
        • 管理传输任务
        • 创建传输任务
      • 使用Kafka协议上传日志
    • 日志管理
      • 日志集管理
      • 日志视图
    • 仪表盘
      • 概述
      • 管理仪表盘
      • 管理仪表盘图表
    • 报警管理
      • 报警概述
      • 报警策略
        • 管理报警策略
        • 触发条件
      • 报警通知
        • 报警通知模版
        • 报警回调
      • 报警执行统计
      • 报警历史
    • 数据处理
      • 定时SQL分析
        • 创建定时SQL分析任务
        • 管理定时SQL分析任务
      • 日志投递
        • 日志投递概述
        • 创建投递任务
        • 管理投递任务
      • 数据加工
        • 数据加工函数总览
        • 事件操作函数
        • 字段值提取函数
        • 字段操作函数
        • 映射富化函数
        • 流程控制函数
      • 实时消费
    • 日志应用
      • 智能诊断
    • 多用户访问控制
  • 开发指南
    • API参考
      • API概述
      • 通用说明
      • 名词解释
      • 接口概览
      • 通用错误码
      • 服务域名
      • API功能发布记录
      • 日志组Project相关接口
        • 创建日志组CreateProject
        • 更新日志组UpdateProject
        • 删除日志组DeleteProject
        • 获取日志组列表ListProject
        • 获取日志组详情DescribeProject
      • 日志集LogStore相关接口
        • 创建日志集CreateLogStore
        • 修改日志集UpdateLogStore
        • 删除日志集DeleteLogStore
        • 获取日志集列表ListLogStore
        • 获取日志集详情DescribeLogStore
        • 批量获取日志集BatchGetLogStore
      • 日志流LogStream相关接口
        • 获取日志流列表ListLogStream
      • 日志记录LogRecord相关接口
        • 检索分析日志QueryLogRecord
        • 直方图接口QueryLogHistogram
        • 推送日志PushLogRecord
        • 获取日志记录PullLogRecord
      • 日志视图相关接口
        • 创建日志视图CreateLogStoreView
        • 修改日志视图UpdateLogStoreView
        • 删除日志视图DeleteLogStoreView
        • 获取日志视图列表ListLogStoreView
        • 获取日志视图详情DescribeLogStoreView
      • 下载日志Download相关接口
        • 创建下载任务CreateDownloadTask
        • 删除下载任务DeleteDownloadTask
        • 获取下载任务列表ListDownloadTask
        • 获取下载任务地址GetDownloadTaskLink
        • 获取下载任务详情DescribeDownloadTask
      • 快速查询FastQuery相关接口
        • 创建快速查询CreateFastQuery
        • 更新快速查询UpdateFastQuery
        • 删除快速查询DeleteFastQuery
        • 获取快速查询列表ListFastQuery
        • 获取快速查询详情DescribeFastQuery
      • 传输任务Task相关接口
        • 创建传输任务CreateTask
        • 更新传输任务UpdateTask
      • 报警Alarm相关接口
        • 创建报警策略CreateAlarmPolicy
        • 启用报警策略EnableAlarmPolicy
        • 获取报警历史详情DescribeAlarmRecord
        • 更新报警策略UpdateAlarmPolicy
        • 删除报警策略DeleteAlarmPolicy
        • 获取报警执行列表ListAlarmExecutions
        • 获取报警策略列表ListAlarmPolicy
        • 获取报警策略详情DescribeAlarmPolicy
        • 获取报警执行统计ListAlarmExecutionStats
        • 检验报警策略执行条件ValidateAlarmCondition
        • 禁用报警策略DisableAlarmPolicy
        • 获取报警历史列表ListAlarmRecord
        • 检验报警策略查询语句ValidateAlarmPolicySQL
      • 日志投递LogShipper相关接口
        • 创建日志投递CreateLogShipper
        • 更新日志投递UpdateLogShipper
        • 删除日志投递任务DeleteSingleLogShipper
        • 批量设置日志投递任务状态BulkSetLogShipperStatus
        • 设置日志投递任务状态SetSingleLogShipperStatus
        • 获取日志投递记录ListLogShipperRecord
        • 批量删除日志投递任务BulkDeleteLogShipper
        • 获取日志投递列表ListLogShipper
        • 获取日志投递详情GetLogShipper
      • 日志集模板相关接口
        • 创建日志集模板CreateLogStoreTemplate
        • 更新日志集模板UpdateLogStoreTemplate
        • 删除日志集模板DeleteLogStoreTemplates
        • 获取日志集模板列表DescribeLogStoreTemplates
        • 获取日志集模板详情DescribeLogStoreTemplate
      • 索引Index相关接口
        • 创建索引CreateIndex
        • 更新索引UpdateIndex
        • 删除索引DeleteIndex
        • 获取索引详情DescribeIndex
      • 兼容Elasticsearch相关接口
        • 检索和分析BLS日志 AsyncSearch
        • 查询索引列表 ResolveIndex
        • 推荐字段取值 TermsEnum
        • 获取索引字段列表 FieldCaps
    • SDK参考
      • SDK隐私政策
      • SDK开发者个人信息保护合规指引
      • Android & ISO SDK下载
      • Go SDK
        • 概述
        • 初始化
        • 安装SDK工具包
        • Project操作
        • 日志集LogStore操作
        • 日志流LogStream操作
        • 日志记录LogRecord操作
        • 日志投递LogShipper操作
        • 快速查询FastQuery操作
        • 下载任务操作
        • 索引Index操作
        • 版本发布记录
      • iOS SDK
        • 概述
        • 快速开始
        • 版本发布记录
      • Java SDK
        • 概述
        • 日志记录LogRecord操作
        • 安装SDK工具包
      • Android SDK
        • 概述
        • 快速开始
        • 版本发布记录
    • 导入SLS采集配置
  • 最佳实践
    • 使用同环比作为报警触发条件
    • 通过Grafana使用BLS
    • 使用Grafana访问日志服务的Elasticsearch兼容接口
    • BLS接入Kibana
  • 常见问题
    • 常见问题总览
    • 配置类问题
    • 故障类问题
  • 日志服务等级协议SLA
所有文档
menu
没有找到结果,请重新输入

日志服务 BLS

  • 功能发布记录
  • 产品描述
    • 产品介绍
    • 使用限制
  • 产品定价
  • 快速入门
    • 简介
    • 安装收集器
    • 创建日志集
    • 创建传输任务
    • 日志分析和报警
    • 创建投递任务
    • 创建日志集
    • 简介
    • 日志分析和报警
    • 创建投递任务
    • 创建传输任务
    • 安装收集器
  • 操作指南
    • 百度智能云环境准备
    • 概览
    • 收集器
      • 主机安装收集器
      • 在k8s环境安装收集器
      • 设置收集器启动参数
      • 收集器管理
      • 收集器发行版本
    • 查询分析
      • 日志查询
      • 检索语法
      • SQL语法
    • 日志采集
      • 传输任务采集
        • 管理传输任务
        • 创建传输任务
      • 使用Kafka协议上传日志
    • 日志管理
      • 日志集管理
      • 日志视图
    • 仪表盘
      • 概述
      • 管理仪表盘
      • 管理仪表盘图表
    • 报警管理
      • 报警概述
      • 报警策略
        • 管理报警策略
        • 触发条件
      • 报警通知
        • 报警通知模版
        • 报警回调
      • 报警执行统计
      • 报警历史
    • 数据处理
      • 定时SQL分析
        • 创建定时SQL分析任务
        • 管理定时SQL分析任务
      • 日志投递
        • 日志投递概述
        • 创建投递任务
        • 管理投递任务
      • 数据加工
        • 数据加工函数总览
        • 事件操作函数
        • 字段值提取函数
        • 字段操作函数
        • 映射富化函数
        • 流程控制函数
      • 实时消费
    • 日志应用
      • 智能诊断
    • 多用户访问控制
  • 开发指南
    • API参考
      • API概述
      • 通用说明
      • 名词解释
      • 接口概览
      • 通用错误码
      • 服务域名
      • API功能发布记录
      • 日志组Project相关接口
        • 创建日志组CreateProject
        • 更新日志组UpdateProject
        • 删除日志组DeleteProject
        • 获取日志组列表ListProject
        • 获取日志组详情DescribeProject
      • 日志集LogStore相关接口
        • 创建日志集CreateLogStore
        • 修改日志集UpdateLogStore
        • 删除日志集DeleteLogStore
        • 获取日志集列表ListLogStore
        • 获取日志集详情DescribeLogStore
        • 批量获取日志集BatchGetLogStore
      • 日志流LogStream相关接口
        • 获取日志流列表ListLogStream
      • 日志记录LogRecord相关接口
        • 检索分析日志QueryLogRecord
        • 直方图接口QueryLogHistogram
        • 推送日志PushLogRecord
        • 获取日志记录PullLogRecord
      • 日志视图相关接口
        • 创建日志视图CreateLogStoreView
        • 修改日志视图UpdateLogStoreView
        • 删除日志视图DeleteLogStoreView
        • 获取日志视图列表ListLogStoreView
        • 获取日志视图详情DescribeLogStoreView
      • 下载日志Download相关接口
        • 创建下载任务CreateDownloadTask
        • 删除下载任务DeleteDownloadTask
        • 获取下载任务列表ListDownloadTask
        • 获取下载任务地址GetDownloadTaskLink
        • 获取下载任务详情DescribeDownloadTask
      • 快速查询FastQuery相关接口
        • 创建快速查询CreateFastQuery
        • 更新快速查询UpdateFastQuery
        • 删除快速查询DeleteFastQuery
        • 获取快速查询列表ListFastQuery
        • 获取快速查询详情DescribeFastQuery
      • 传输任务Task相关接口
        • 创建传输任务CreateTask
        • 更新传输任务UpdateTask
      • 报警Alarm相关接口
        • 创建报警策略CreateAlarmPolicy
        • 启用报警策略EnableAlarmPolicy
        • 获取报警历史详情DescribeAlarmRecord
        • 更新报警策略UpdateAlarmPolicy
        • 删除报警策略DeleteAlarmPolicy
        • 获取报警执行列表ListAlarmExecutions
        • 获取报警策略列表ListAlarmPolicy
        • 获取报警策略详情DescribeAlarmPolicy
        • 获取报警执行统计ListAlarmExecutionStats
        • 检验报警策略执行条件ValidateAlarmCondition
        • 禁用报警策略DisableAlarmPolicy
        • 获取报警历史列表ListAlarmRecord
        • 检验报警策略查询语句ValidateAlarmPolicySQL
      • 日志投递LogShipper相关接口
        • 创建日志投递CreateLogShipper
        • 更新日志投递UpdateLogShipper
        • 删除日志投递任务DeleteSingleLogShipper
        • 批量设置日志投递任务状态BulkSetLogShipperStatus
        • 设置日志投递任务状态SetSingleLogShipperStatus
        • 获取日志投递记录ListLogShipperRecord
        • 批量删除日志投递任务BulkDeleteLogShipper
        • 获取日志投递列表ListLogShipper
        • 获取日志投递详情GetLogShipper
      • 日志集模板相关接口
        • 创建日志集模板CreateLogStoreTemplate
        • 更新日志集模板UpdateLogStoreTemplate
        • 删除日志集模板DeleteLogStoreTemplates
        • 获取日志集模板列表DescribeLogStoreTemplates
        • 获取日志集模板详情DescribeLogStoreTemplate
      • 索引Index相关接口
        • 创建索引CreateIndex
        • 更新索引UpdateIndex
        • 删除索引DeleteIndex
        • 获取索引详情DescribeIndex
      • 兼容Elasticsearch相关接口
        • 检索和分析BLS日志 AsyncSearch
        • 查询索引列表 ResolveIndex
        • 推荐字段取值 TermsEnum
        • 获取索引字段列表 FieldCaps
    • SDK参考
      • SDK隐私政策
      • SDK开发者个人信息保护合规指引
      • Android & ISO SDK下载
      • Go SDK
        • 概述
        • 初始化
        • 安装SDK工具包
        • Project操作
        • 日志集LogStore操作
        • 日志流LogStream操作
        • 日志记录LogRecord操作
        • 日志投递LogShipper操作
        • 快速查询FastQuery操作
        • 下载任务操作
        • 索引Index操作
        • 版本发布记录
      • iOS SDK
        • 概述
        • 快速开始
        • 版本发布记录
      • Java SDK
        • 概述
        • 日志记录LogRecord操作
        • 安装SDK工具包
      • Android SDK
        • 概述
        • 快速开始
        • 版本发布记录
    • 导入SLS采集配置
  • 最佳实践
    • 使用同环比作为报警触发条件
    • 通过Grafana使用BLS
    • 使用Grafana访问日志服务的Elasticsearch兼容接口
    • BLS接入Kibana
  • 常见问题
    • 常见问题总览
    • 配置类问题
    • 故障类问题
  • 日志服务等级协议SLA
  • 文档中心
  • arrow
  • 日志服务BLS
  • arrow
  • 操作指南
  • arrow
  • 数据处理
  • arrow
  • 数据加工
  • arrow
  • 流程控制函数
本页目录
  • 简介
  • e_compose 函数
  • 函数定义
  • 语法描述
  • 参数说明
  • 示例
  • e_if 函数
  • 函数定义
  • 语法描述
  • 参数说明
  • 示例
  • e_if_else 函数
  • 函数定义
  • 语法描述
  • 参数说明
  • 示例
  • e_switch 函数
  • 函数定义
  • 语法描述
  • 参数说明
  • 示例

流程控制函数

更新时间:2025-11-14

流程控制

简介

流程控制的逻辑在常用的编程语言和DSL函数中是一样的,用于控制语句的执行。

e_compose 函数

函数定义

组合操作函数,类似于分支代码块的组合能力,可以组合多个操作函数,并按顺序执行,可以结合分支、输出函数使用。 语法描述

语法描述

Text
1e_compose(函数1,函数2, ...)

参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
函数1,2,... 参数必须为返回类型为 LOG 的函数 String 至少一个函数参数,可变参数,最多为100个 - -

示例

  • 示例1

原始日志:

Text
1{"status": "500"}

加工规则:

Text
1e_compose(e_set("new", 1))

加工结果:

Text
1{"new": 1, "status": "500"}
  • 示例2

原始日志:

Text
1{"status": "500"}

加工规则:

Text
1e_compose(e_set("new1", "n1"), e_set("new2", "n2"))

加工结果:

Text
1{"new1": "n1", "new2": "n2", "status": "500"}

e_if 函数

函数定义

对符合条件的日志,进行相应的函数处理,否则不进行任何处理。

语法描述

Text
1e_if(条件, 函数)

参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
条件 返回值为 BOOL 类型的函数表达式 Bool 是 - -
函数 参数必须为返回类型为 LOG 的函数 String 是 - -

示例

  • 示例1

原始日志:

Text
1{"status": "500"}

加工规则:

Text
1e_if(true, e_set("new", "n"))

加工结果:

Text
1{"new": "n", "status":"500"}
  • 示例2

原始日志:

Text
1{"status": "500"}

加工规则:

Text
1e_if(false, e_set("new", "n"))

加工结果:

Text
1{"status": "500"}
  • 示例3

原始日志:

Text
1{"status": "500"}

加工规则:

Text
1e_if(v("status") == "500", e_set("new", "n"))

加工结果:

Text
1{"new": "n", "status":"500"}

e_if_else 函数

函数定义

对符合条件的日志,进行相应的函数处理,否则不进行任何处理。

语法描述

Text
1e_if_else(条件, 函数1, 函数2)

参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
条件 返回值为 BOOL 类型的函数表达式 Bool 是 - -
函数1 参数必须为返回类型为 LOG 的函数 String 是 - -
函数1 参数必须为返回类型为 LOG 的函数 String 是 - -

示例

  • 示例1

原始日志:

Text
1{"status": "500"}

加工规则:

Text
1e_if_else(true, e_set("new", "n1"), e_set("new", "n2"))

加工结果:

Text
1{"new": "n1", "status":"500"}
  • 示例2

原始日志:

Text
1{"status": "500"}

加工规则:

Text
1e_if_else(false, e_set("new", "n1"), e_set("new", "n2"))

加工结果:

Text
1{"new": "n2", "status":"500"}

e_switch 函数

函数定义

对符合条件的日志,进行相应的函数处理,否则不进行任何处理。

语法描述

Text
1e_switch(条件1, 函数1, 条件2, 函数2, ..., default=None)

参数说明

参数名称 参数描述 参数类型 是否必须 参数默认值 参数取值范围
条件1,2,... 返回值为 BOOL 类型的函数表达式 Bool 至少一个参数,可变参数,最多为50个 - -
函数1,2,... 参数必须为返回类型为 LOG 的函数 String 至少一个参数,可变参数,最多为50个 - -
default 参数必须为返回类型为 LOG 的函数,没有条件满足时执行该操作。 String 否 - -

示例

  • 示例1

原始日志:

Text
1{"status": "500"}

加工规则:

Text
1e_switch(true, e_set("new", "n"))

加工结果:

Text
1{"new": "n", "status":"500"}
  • 示例2

原始日志:

Text
1{"status": "500"}

加工规则:

Text
1e_switch(false, e_set("new", "n1"), true, e_set("new", "n2"))

加工结果:

Text
1{"new": "n2", "status":"500"}
  • 示例3

原始日志:

Text
1{"status": "500"}

加工规则:

Text
1e_switch(v('status') == '400'), e_set("new", "n1"), default=e_set("new", "n2"))

加工结果:

Text
1{"new": "n2", "status":"500"}

上一篇
映射富化函数
下一篇
实时消费