本文主要介绍控制指令的用法和示例。
.let
定义命名数据集,作为后续SPL表达式的输入。SPL数据集详情请参见SPL数据集。
语法
.let <dataset>=<spl-expr>
参数说明
参数 | 类型 | 必填 | 说明 |
dataset | String | 是 | 数据集名称,包含字母、数字和下划线,并且以字母开头,区分大小写。 |
spl-expr | SPLExp | 是 | 生成数据集的SPL表达式。 |
示例
将访问日志基于状态码进行过滤和分类处理,然后将其输出。
SPL语句
-- SPL处理结果定义为命名数据集src,作为后续SPL表达式的输入 .let src = * | where status=cast(status as BIGINT); -- 以命名数据集src作为输入,筛选status字段为5xx的数据,定义数据集err,不输出 .let err = $src | where status >= 500 | extend msg='ERR'; -- 以命名数据集src作为输入,筛选status字段为2xx的数据,定义数据集ok,不输出 .let ok = $src | where status >= 200 and status < 300 | extend msg='OK'; -- 输出命名数据集err和ok $err; $ok;
输入数据
# 条目1 status: '200' body: 'this is a test' # 条目2 status: '500' body: 'internal error' # 条目3 status: '404' body: 'not found'
输出结果
# 条目1: 数据集为err status: '500' body: 'internal error' msg: 'ERR' # 条目2: 数据集为ok status: '200' body: 'this is a test' msg: 'OK'
该文章对您有帮助吗?