TIPCommon.validation
El módulo TIPCommon.validation contiene la clase ParameterValidator, una herramienta fundamental para garantizar la integridad de los datos en las integraciones. Automatiza el proceso de verificación de los tipos de entrada, aplica restricciones (como rangos numéricos o formatos de correo electrónico) y proporciona valores alternativos seguros para evitar fallas durante el tiempo de ejecución.
La clase ParameterValidator
La clase ParameterValidator proporciona una interfaz estandarizada para validar varios tipos de parámetros. Cada método acepta un nombre y un valor de parámetro, y devuelve el valor validado en su tipo de Python apropiado. Si falla la validación y no se proporciona un default_value, se genera un ParameterValidationError.
Ejemplo de uso
Para usar el validador, inicialízalo con el objeto del SDK de siemplify:
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')
Validación numérica y de límites
Estos métodos garantizan que las entradas numéricas se encuentren dentro de los límites esperados y se conviertan correctamente a sus tipos de Python apropiados.
| Función | Parámetros | Descripción y devoluciones |
|---|---|---|
validate_float() |
|
Muestra: float
Valida que un valor se pueda convertir en un número de punto flotante. Es útil para los umbrales o las puntuaciones de probabilidad. |
validate_integer() |
|
Muestra: int
Valida y convierte un valor en un número entero. |
validate_range() |
|
Muestra: int
Garantiza que un número entero se encuentre dentro del rango inclusivo definido por |
validate_percentage() |
|
Muestra: int
Garantiza que el valor sea un número entero entre |
validate_non_negative() |
|
Muestra: int
Garantiza que el valor sea un número entero |
validate_non_zero() |
|
Muestra: int
Garantiza que el valor sea un número entero y no sea igual a |
validate_positive() |
|
Muestra: int
Garantiza que el valor sea un número entero |
validate_lower_limit() |
|
Muestra: int
Garantiza que el valor sea |
validate_upper_limit() |
|
Muestra: int
Garantiza que el valor sea |
Estructura de datos y validación de cadenas
Estos métodos validan tipos de entrada más complejos, como cadenas delimitadas, objetos JSON y formatos específicos, como direcciones de correo electrónico.
| Función | Parámetros | Descripción y devoluciones |
|---|---|---|
validate_csv() |
|
Muestra: list
Divide una cadena en una lista usando el delimitador. Si se proporciona |
validate_json() |
|
Muestra: dict | list
Analiza una cadena en un objeto JSON. Genera un error si la cadena no es un JSON válido. |
validate_email() |
|
Muestra: str
Valida que la cadena proporcionada siga un formato de correo electrónico estándar. |
validate_ddl() |
|
Muestra: str
Valida que la entrada coincida con uno de los valores de un DDL definido. |
validate_severity() |
|
Muestra: int
Valida la entrada de gravedad de la plataforma. Asigna correctamente las etiquetas de gravedad estándar de la plataforma (como "Alta") y sus rangos de números enteros equivalentes. |
Configuración de validación global
Todos los métodos de validación de la clase ParameterValidator admiten los siguientes argumentos de palabras clave opcionales para controlar el comportamiento en caso de falla o para la depuración:
default_value: Si se proporciona, este valor se devuelve en lugar de generar unParameterValidationErrorcuando falla la validación.print_value: (bool) Cuando esTrue, el valor no válido que causó la falla se incluye en el mensaje de registro. El valor predeterminado esTrue.print_error: (bool) Cuando esTrue, el mensaje de excepción específico se incluye en los registros de la plataforma. El valor predeterminado esFalse.