@@ -25,7 +25,7 @@ def idempotent(
25
25
** kwargs ,
26
26
) -> Any :
27
27
"""
28
- Middleware to handle idempotency
28
+ Decorator to handle idempotency
29
29
30
30
Parameters
31
31
----------
@@ -78,33 +78,33 @@ def idempotent_function(
78
78
config : Optional [IdempotencyConfig ] = None ,
79
79
) -> Any :
80
80
"""
81
- Middleware to handle idempotency of any function
81
+ Decorator to handle idempotency of any function
82
82
83
83
Parameters
84
84
----------
85
85
function: Callable
86
86
Function to be decorated
87
- data_keyword_argument: Dict
88
- Lambda 's Event
87
+ data_keyword_argument: str
88
+ Keyword parameter name in function 's signature that we should hash as idempotency key, e.g. "order"
89
89
persistence_store: BasePersistenceLayer
90
90
Instance of BasePersistenceLayer to store data
91
91
config: IdempotencyConfig
92
92
Configuration
93
93
94
94
Examples
95
95
--------
96
- **Processes Lambda's event in an idempotent manner**
96
+ **Processes an order in an idempotent manner**
97
97
98
- >>> from aws_lambda_powertools.utilities.idempotency import (
99
- >>> idempotent , DynamoDBPersistenceLayer, IdempotencyConfig
100
- >>> )
101
- >>>
102
- >>> idem_config=IdempotencyConfig(event_key_jmespath="body ")
103
- >>> persistence_layer = DynamoDBPersistenceLayer(table_name="idempotency_store")
104
- >>>
105
- >>> @idempotent( config=idem_config, persistence_store=persistence_layer)
106
- >>> def handler(event, context ):
107
- >>> return {"StatusCode": 200}
98
+ from aws_lambda_powertools.utilities.idempotency import (
99
+ idempotent_function , DynamoDBPersistenceLayer, IdempotencyConfig
100
+ )
101
+
102
+ idem_config=IdempotencyConfig(event_key_jmespath="order_id ")
103
+ persistence_layer = DynamoDBPersistenceLayer(table_name="idempotency_store")
104
+
105
+ @idempotent_function(data_keyword_argument="order", config=idem_config, persistence_store=persistence_layer)
106
+ def process_order(customer_id: str, order: dict, **kwargs ):
107
+ return {"StatusCode": 200}
108
108
"""
109
109
110
110
if function is None :
0 commit comments