11import logging
22from typing import Any , Callable , Dict , Optional
33
4- from pydantic import BaseModel , ValidationError
4+ from pydantic import BaseModel
55
66from ...middleware_factory import lambda_handler_decorator
77from ..typing import LambdaContext
88from .envelopes .base import BaseEnvelope
9- from .exceptions import InvalidEnvelopeError , InvalidModelTypeError , ModelValidationError
9+ from .exceptions import InvalidEnvelopeError , InvalidModelTypeError
1010
1111logger = logging .getLogger (__name__ )
1212
@@ -72,7 +72,7 @@ def handler(event: Order, context: LambdaContext):
7272
7373 Raises
7474 ------
75- ModelValidationError
75+ ValidationError
7676 When input event does not conform with model provided
7777 InvalidModelTypeError
7878 When model given does not implement BaseModel
@@ -94,7 +94,7 @@ def parse(event: Dict[str, Any], model: BaseModel, envelope: Optional[BaseEnvelo
9494
9595 **Lambda handler decorator to parse & validate event**
9696
97- from aws_lambda_powertools.utilities.parser.exceptions import ModelValidationError
97+ from aws_lambda_powertools.utilities.parser import ValidationError
9898
9999 class Order(BaseModel):
100100 id: int
@@ -104,7 +104,7 @@ class Order(BaseModel):
104104 def handler(event: Order, context: LambdaContext):
105105 try:
106106 parse(model=Order)
107- except ModelValidationError :
107+ except ValidationError :
108108 ...
109109
110110 **Lambda handler decorator to parse & validate event - using built-in envelope**
@@ -117,7 +117,7 @@ class Order(BaseModel):
117117 def handler(event: Order, context: LambdaContext):
118118 try:
119119 parse(model=Order, envelope=envelopes.EVENTBRIDGE)
120- except ModelValidationError :
120+ except ValidationError :
121121 ...
122122
123123 Parameters
@@ -131,7 +131,7 @@ def handler(event: Order, context: LambdaContext):
131131
132132 Raises
133133 ------
134- ModelValidationError
134+ ValidationError
135135 When input event does not conform with model provided
136136 InvalidModelTypeError
137137 When model given does not implement BaseModel
@@ -144,16 +144,12 @@ def handler(event: Order, context: LambdaContext):
144144 return envelope ().parse (data = event , model = model )
145145 except AttributeError :
146146 raise InvalidEnvelopeError (f"Envelope must implement BaseEnvelope, envelope={ envelope } " )
147- except (ValidationError , TypeError ) as e :
148- raise ModelValidationError (f"Input event does not conform with model, envelope={ envelope } " ) from e
149147
150148 try :
151149 logger .debug ("Parsing and validating event model; no envelope used" )
152150 if isinstance (event , str ):
153151 return model .parse_raw (event )
154152
155153 return model .parse_obj (event )
156- except (ValidationError , TypeError ) as e :
157- raise ModelValidationError ("Input event does not conform with model" ) from e
158154 except AttributeError :
159155 raise InvalidModelTypeError ("Input model must implement BaseModel" )
0 commit comments