TIPCommon.validation

TIPCommon.validation モジュールには、統合内のデータ完全性を確保するための重要なツールである ParameterValidator クラスが含まれています。入力型のチェック、制約(数値範囲やメール形式など)の適用、ランタイム クラッシュを防ぐための安全なフォールバック値の提供のプロセスを自動化します。

ParameterValidator クラス

ParameterValidator クラスは、さまざまなパラメータ タイプを検証するための標準化されたインターフェースを提供します。各メソッドはパラメータ名と値を受け取り、検証済みの値を適切な Python 型で返します。検証に失敗し、default_value が指定されていない場合は、ParameterValidationError が発生します。

使用例

バリデーターを使用するには、siemplify SDK オブジェクトで初期化します。

from TIPCommon.validation import ParameterValidator

# Initialize the validator
validator = ParameterValidator(siemplify)

# Validate and cast strings to specific types
validated_float = validator.validate_float(param_name='Threshold', value='3.7')
validated_int = validator.validate_integer(param_name='Retry Count', value='5')

数値と上限の検証

これらのメソッドは、数値入力が想定される境界内に収まり、適切な Python 型に正しくキャストされるようにします。

関数 パラメータ 説明と返品
validate_float()
  • param_name:(str)
  • value: (str | float)
戻り値: float

値を float にキャストできることを検証します。しきい値や確率スコアに役立ちます。

validate_integer()
  • param_name:(str)
  • value:(str | int)
戻り値: int

値を検証して整数にキャストします。

validate_range()
  • value:(str | int)
  • min_limit:(int)
  • max_limit:(int)
戻り値: int

整数が min_limit と max_limit で定義された包括的な範囲内にあることを確認します。

validate_percentage()
  • value:(str | int)
戻り値: int

値が 0~100 の整数(両端の値を含む)であることを確認します。

validate_non_negative()
  • value:(str | int)
戻り値: int

値が整数 ≥ 0 であることを確認します。

validate_non_zero()
  • value:(str | int)
戻り値: int

値が整数で、0 と等しくないことを確認します。

validate_positive()
  • value:(str | int)
戻り値: int

値が整数 > 0 であることを確認します。

validate_lower_limit()
  • value:(str | int)
  • limit:(int)
戻り値: int

値が指定された limit の ≥ であることを確認します。

validate_upper_limit()
  • value:(str | int)
  • limit:(int)
戻り値: int

値が指定された limit の ≤ であることを確認します。

データ構造と文字列の検証

これらのメソッドは、区切り文字付き文字列、JSON オブジェクト、メールアドレスなどの特定の形式など、より複雑な入力タイプを検証します。

関数 パラメータ 説明と返品
validate_csv()
  • csv_string:(str)
  • delimiter:(str)デフォルトは ', ' です。
  • possible_values: (リスト)省略可能なホワイトリスト。
戻り値: list

区切り文字を使用して文字列をリストに分割します。possible_values が指定されている場合、各アイテムがそのリストと照合されます。

validate_json()
  • json_string:(str)
  • **kwargs: json.loads() のパススルー。
戻り値: dict | list

文字列を JSON オブジェクトに解析します。文字列が有効な JSON でない場合は、エラーを発生させます。

validate_email()
  • email:(str)
戻り値: str

指定された文字列が標準のメール形式に準拠していることを検証します。

validate_ddl()
  • value:(str)
  • ddl_values: (リスト)有効な値のホワイトリスト。
  • case_sensitive: (bool)デフォルトは False です。
戻り値: str

入力が定義された DDL の値のいずれかと一致することを検証します。

validate_severity()
  • severity:(str | int)
  • possible_values:(リスト)
戻り値: int

プラットフォームの重大度の入力を検証します。プラットフォーム標準の重大度ラベル(「高」など)とそれに対応する整数ランクを正しくマッピングします。

グローバル検証構成

ParameterValidator クラスのすべての検証メソッドは、失敗時の動作を制御したり、デバッグを行ったりするための次のオプションのキーワード引数をサポートしています。

  • default_value: 指定されている場合、検証に失敗したときに ParameterValidationError を発生させる代わりに、この値が返されます。

  • print_value:(bool)True の場合、失敗の原因となった無効な値がログメッセージに含まれます。デフォルトは True です。

  • print_error:(bool)True の場合、特定例外メッセージがプラットフォーム ログに含まれます。デフォルトは False です。