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() |
|
반환: float
값이 부동 소수점으로 변환될 수 있는지 확인합니다. 기준점 또는 확률 점수에 유용합니다. |
validate_integer() |
|
반환: int
값을 정수로 검증하고 변환합니다. |
validate_range() |
|
반환: int
정수가 |
validate_percentage() |
|
반환: int
값이 |
validate_non_negative() |
|
반환: int
값이 정수 |
validate_non_zero() |
|
반환: int
값이 정수이고 |
validate_positive() |
|
반환: int
값이 정수 |
validate_lower_limit() |
|
반환: int
값이 지정된 |
validate_upper_limit() |
|
반환: int
값이 지정된 |
데이터 구조 및 문자열 검증
이러한 메서드는 구분된 문자열, JSON 객체, 이메일 주소와 같은 특정 형식 등 더 복잡한 입력 유형을 검증합니다.
| 함수 | 매개변수 | 설명 및 반품 |
|---|---|---|
validate_csv() |
|
반환: list
구분자를 사용하여 문자열을 목록으로 분할합니다. |
validate_json() |
|
반환: dict | list
문자열을 JSON 객체로 파싱합니다. 문자열이 유효한 JSON이 아닌 경우 오류를 발생시킵니다. |
validate_email() |
|
반환: str
제공된 문자열이 표준 이메일 형식을 따르는지 확인합니다. |
validate_ddl() |
|
반환: str
입력이 정의된 DDL의 값 중 하나와 일치하는지 확인합니다. |
validate_severity() |
|
반환: int
플랫폼 심각도 입력을 검증합니다. 플랫폼 표준 심각도 라벨('높음' 등)과 이에 상응하는 정수 순위를 올바르게 매핑합니다. |
전역 유효성 검사 구성
ParameterValidator 클래스의 모든 검증 메서드는 실패 시 또는 디버깅을 위해 동작을 제어하는 다음 선택적 키워드 인수를 지원합니다.
default_value: 제공된 경우 유효성 검사가 실패할 때ParameterValidationError을 발생시키는 대신 이 값이 반환됩니다.print_value: (bool)True인 경우 실패를 일으킨 잘못된 값이 로그 메시지에 포함됩니다. 기본값은True입니다.print_error: (bool)True인 경우 특정 예외 메시지가 플랫폼 로그에 포함됩니다. 기본값은False입니다.