TIPCommon.validation
Das Modul TIPCommon.validation enthält die Klasse ParameterValidator, ein wichtiges Tool, um die Datenintegrität in Integrationen zu gewährleisten. Damit wird der Prozess der Überprüfung von Eingabetypen, der Durchsetzung von Einschränkungen (z. B. numerische Bereiche oder E-Mail-Formate) und der Bereitstellung sicherer Fallback-Werte automatisiert, um Laufzeitabstürze zu verhindern.
Die Klasse ParameterValidator
Die Klasse ParameterValidator bietet eine standardisierte Schnittstelle zum Validieren verschiedener Parametertypen. Jede Methode akzeptiert einen Parameternamen und einen Wert und gibt den validierten Wert im entsprechenden Python-Typ zurück. Wenn die Validierung fehlschlägt und kein default_value angegeben ist, wird ein ParameterValidationError ausgelöst.
Verwendungsbeispiel
Um den Validator zu verwenden, initialisieren Sie ihn mit dem siemplify SDK-Objekt:
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')
Numerische Validierung und Grenzwertvalidierung
Diese Methoden sorgen dafür, dass numerische Eingaben innerhalb der erwarteten Grenzen liegen und korrekt in die entsprechenden Python-Typen umgewandelt werden.
| Funktion | Parameter | Beschreibung und Retouren |
|---|---|---|
validate_float() |
|
Liefert: float
Validiert, ob ein Wert in einen Gleitkommawert umgewandelt werden kann. Nützlich für Grenzwerte oder Wahrscheinlichkeitswerte. |
validate_integer() |
|
Liefert: int
Validiert einen Wert und wandelt ihn in eine Ganzzahl um. |
validate_range() |
|
Liefert: int
Stellt sicher, dass eine Ganzzahl in den inklusiven Bereich fällt, der durch |
validate_percentage() |
|
Liefert: int
Stellt sicher, dass der Wert eine Ganzzahl zwischen |
validate_non_negative() |
|
Liefert: int
Stellt sicher, dass der Wert eine Ganzzahl |
validate_non_zero() |
|
Liefert: int
Prüft, ob der Wert eine Ganzzahl und nicht gleich |
validate_positive() |
|
Liefert: int
Stellt sicher, dass der Wert eine Ganzzahl |
validate_lower_limit() |
|
Liefert: int
Stellt sicher, dass der Wert |
validate_upper_limit() |
|
Liefert: int
Stellt sicher, dass der Wert |
Datenstruktur und String-Validierung
Mit diesen Methoden werden komplexere Eingabetypen wie Strings mit Trennzeichen, JSON-Objekte und bestimmte Formate wie E-Mail-Adressen validiert.
| Funktion | Parameter | Beschreibung und Retouren |
|---|---|---|
validate_csv() |
|
Liefert: list
Teilt einen String anhand des Trennzeichens in eine Liste auf. Wenn |
validate_json() |
|
Liefert: dict | list
Parst einen String in ein JSON-Objekt. Löst einen Fehler aus, wenn der String kein gültiges JSON ist. |
validate_email() |
|
Liefert: str
Prüft, ob der angegebene String einem Standard-E-Mail-Format entspricht. |
validate_ddl() |
|
Liefert: str
Prüft, ob die Eingabe mit einem der Werte in einer definierten DDL übereinstimmt. |
validate_severity() |
|
Liefert: int
Validiert eine Eingabe für den Schweregrad auf der Plattform. Die Zuordnung zwischen plattformüblichen Schweregradlabels (z. B. „Hoch“) und den entsprechenden Ganzzahlrängen erfolgt korrekt. |
Globale Konfiguration für die Validierung
Jede Validierungsmethode in der Klasse ParameterValidator unterstützt die folgenden optionalen Schlüsselwortargumente, um das Verhalten bei einem Fehler zu steuern oder Fehler zu beheben:
default_value: Wenn dieser Wert angegeben ist, wird er zurückgegeben, anstatt bei einem Validierungsfehler eineParameterValidationErrorauszulösen.print_value: (bool) WennTrue, wird der ungültige Wert, der den Fehler verursacht hat, in die Log-Nachricht aufgenommen. Die Standardeinstellung istTrue.print_error: (boolesch) WennTrue, wird die spezifische Fehlermeldung in die Plattformlogs aufgenommen. Die Standardeinstellung istFalse.