tencent cloud

Cloud Log Service

フロー制御

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 15:02:20
AI翻訳

概要

プロセス制御のロジックは、一般的なプログラミング言語とDSL関数において同じです。違いは記述方法にあります。 

compose関数

関数定義

組み合わせ操作関数は、分岐コードブロックの組み合わせ能力に類似しており、複数の操作関数を組み合わせ、順番に実行することができます。分岐や出力関数と組み合わせて使用できます。

構文記述

compose(関数1,関数2, ...)

パラメータ説明

パラメータ名
パラメータ説明
パラメータタイプ
必須かどうか
パラメータのデフォルト値
パラメータの値の範囲
可変引数、関数
パラメータは戻り値の型がLOGである関数でなければなりません。
関数式
少なくとも1つの関数パラメータ
-
-

例

例1:関数を順番に呼び出し、最初にenrich関数を実行し、次にfields_set関数を実行します。
元のログ:
{"status": "500"}
加工ルール:
//1. enrich関数:dictのデータを使用して元のログをエンリッチし、statusフィールドの値が500の場合、新しいフィールドmessageをエンリッチして作成し、値はFailedです。
//2. fields_Set関数:新しいフィールドnewを追加し、値1を割り当てます。
compose(enrich_dict("{\\"200\\":\\"SUCCESS\\",\\"500\\":\\"FAILED\\"}", "status", output="message"), fields_set("new", 1))
加工結果:
//最終結果は3つのフィールドで、以下の通りです:
{"new":"1","message":"FAILED","status":"500"}
例2
元のログ:
{"status": "500"}
加工ルール:
compose(fields_set("new", 1))
加工結果:
{"new":"1","status":"500"}
例3
元のログ:
{"condition1": 0,"condition2": 1, "status": "500"}
加工ルール:
t_if_else(v("condition2"), compose(fields_set("new", 1),fields_set("target1","1")), fields_set("target2","0"))
加工結果、targetを出力します:
{"new":"1","condition1":"0","condition2":"1","status":"500","target1":"1"}

t_if関数

関数定義

条件を満たすログに対して、対応する関数処理を行います。それ以外の場合は、何も処理を行いません。

構文記述

t_if(条件1, 関数1)

パラメータ説明

パラメータ名
パラメータ説明
パラメータタイプ
必須かどうか
パラメータのデフォルト値
パラメータの値の範囲
condition
戻り値が BOOL 型の関数式
BOOL
はい
-
-
function
戻り値が LOG 型の関数式
string
はい
-
-

例

例1
元のログ:
{"condition": 1, "status": "500"}
加工ルール:
t_if(True, fields_set("new", 1))
加工結果:
{"new":"1","condition":"1","status":"500"}
例2
元のログ:
//conditionフィールドの値が真の場合、新しいフィールドnewを追加し、値1を割り当てます。
{"condition": 1, "status": "500"}
加工ルール:
t_if(v("condition"), fields_set("new", 1))
加工結果:
{"new":"1","condition":"1","status":"500"}

t_if_not関数

関数定義

条件を満たさないログに対して、対応する関数処理を行います。それ以外の場合は、何も処理を行いません。

構文記述

t_if_not(条件1, 関数1)

パラメータ説明

パラメータ名
パラメータ説明
パラメータタイプ
必須かどうか
パラメータのデフォルト値
パラメータの値の範囲
condition
戻り値が BOOL 型の関数式
BOOL
はい
-
-
function
戻り値が LOG 型の関数式
string
はい
-
-

例

元のログ:
{"condition": 0, "status": "500"}
加工ルール:
t_if_not(v("condition"), fields_set("new", 1))
加工結果:
{"new":"1","condition":"0","status":"500"}

t_if_else関数

関数定義

条件判断に基づいて、それぞれ異なる関数処理を行います。

構文記述

t_if_else(条件1, 関数1, 関数2)

パラメータ説明

パラメータ名
パラメータ説明
パラメータタイプ
必須かどうか
パラメータのデフォルト値
パラメータの値の範囲
condition
戻り値が BOOL 型の関数式
BOOL
はい
-
-
function
戻り値が LOG 型の関数式
string
はい
function1
-
function
戻り値が LOG 型の関数式
string
はい
function2
-

例

元のログ:
{"condition": 1, "status": "500"}
加工ルール:
t_if_else(v("condition"), fields_set("new", 1), fields_set("new", 2))
加工結果:
{"new":"1","condition":"1","status":"500"}

t_switch関数

関数定義

複数の分岐条件に基づいて、それぞれ異なる関数処理を行います。すべての条件を満たさないデータが存在する場合、そのデータは破棄されます。

構文記述

t_switch(条件1, 関数1, 条件2, 関数2, ...)

パラメータ説明

パラメータ名
パラメータ説明
パラメータタイプ
必須かどうか
パラメータのデフォルト値
パラメータの値の範囲
可変引数、条件と関数式が交互にパラメータとして渡されます。
t_if 関数を参照し、複数の t_if の組み合わせに類似しています。
function
少なくとも1組の条件と関数式が必要です。また、パラメータは条件, 関数のペアで渡す必要があります。
-
-

例

元のログ:
{"condition1": 0,"condition2": 1, "status": "500"}
加工ルール:
//condition1フィールドの値が真の場合、新しいフィールドnewを追加し、値1を割り当てます。ここではフィールド値が偽を返すため、「new」:「1」は追加されません。2番目の条件が真を返すため、「new」:「2」が追加されます。
t_switch(v("condition1"), fields_set("new", 1), v("condition2"), fields_set("new", 2))
加工結果:
{"new":"2","condition1":"0","condition2":"1","status":"500"}

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック