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

값이 부동 소수점으로 변환될 수 있는지 확인합니다. 기준점 또는 확률 점수에 유용합니다.

validate_integer()
  • param_name: (str)
  • value: (str | int)
반환: int

값을 정수로 검증하고 변환합니다.

validate_range()
  • value: (str | int)
  • min_limit: (int)
  • max_limit: (int)
반환: int

정수가 min_limitmax_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입니다.