この Topic では、コントロール命令の使用方法と例について説明します。
.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'