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。