@@ -114,7 +114,7 @@ class BasePersistenceLayer(ABC):
114
114
115
115
def __init__ (
116
116
self ,
117
- event_key_jmespath : str ,
117
+ event_key_jmespath : str = "" ,
118
118
payload_validation_jmespath : str = "" ,
119
119
expires_after_seconds : int = 60 * 60 , # 1 hour default
120
120
use_local_cache : bool = False ,
@@ -140,7 +140,8 @@ def __init__(
140
140
Function to use for calculating hashes, by default md5.
141
141
"""
142
142
self .event_key_jmespath = event_key_jmespath
143
- self .event_key_compiled_jmespath = jmespath .compile (event_key_jmespath )
143
+ if self .event_key_jmespath :
144
+ self .event_key_compiled_jmespath = jmespath .compile (event_key_jmespath )
144
145
self .expires_after_seconds = expires_after_seconds
145
146
self .use_local_cache = use_local_cache
146
147
if self .use_local_cache :
@@ -166,7 +167,9 @@ def _get_hashed_idempotency_key(self, lambda_event: Dict[str, Any]) -> str:
166
167
Hashed representation of the data extracted by the jmespath expression
167
168
168
169
"""
169
- data = self .event_key_compiled_jmespath .search (lambda_event )
170
+ data = lambda_event
171
+ if self .event_key_jmespath :
172
+ data = self .event_key_compiled_jmespath .search (lambda_event )
170
173
return self ._generate_hash (data )
171
174
172
175
def _get_hashed_payload (self , lambda_event : Dict [str , Any ]) -> str :
0 commit comments