matchfilter()

matchfilter() 関数は、ユーザー定義フィルターに定義された条件式を現在のレコードに適用し、ブール値の結果を返します。

構文

matchfilter(STR_GUID)

matchfilter(STR_UDF_NAME)

パラメーター

STR_GUID
ユーザー定義フィルターのGUIDです。有効なユーザー定義フィルター識別子である必要があります。存在しないGUIDを指定した場合、クエリのパース段階でエラーが発生します。
STR_UDF_NAME
ユーザー定義フィルターの名前です。存在しない名前を指定した場合、クエリのパース段階でエラーが発生します。

説明

matchfilter() 関数は、ユーザー定義フィルターに保存された条件式を現在のレコードに適用して評価します。条件式の評価結果がブール型であればその値を返し、ブール型でない場合は null でなければ truenull であれば false を返します。

ユーザー定義フィルターは、Sonarウェブコンソールの ポリシー > ユーザー定義フィルター メニューで管理します。

エラーコード

該当なし

使用例

  1. GUIDでユーザー定義フィルターを適用します。

    json "{'src_ip': '192.0.2.1'}"
    | eval result = matchfilter("68e2a243-5e24-4711-b592-32a48d1fc5e5")
    | # result: false
    
  2. フィルター名でユーザー定義フィルターを適用します。

    json "{'src_ip': '192.0.2.1', 'dst_port': 443}"
    | eval result = matchfilter("내부망 출발지 필터")
    | # result: false
    
  3. 条件式の評価結果が null の場合

    json "{'src_ip': null}"
    | eval result = matchfilter("68e2a243-5e24-4711-b592-32a48d1fc5e5")
    | # result: false
    

互換性

matchfilter() 関数はSonar 4.0.2305.0から利用可能です。