Skip to content

Commit 3d4985e

Browse files
Refactoring parameter
1 parent ef55bdc commit 3d4985e

File tree

7 files changed

+23
-24
lines changed

7 files changed

+23
-24
lines changed

aws_lambda_powertools/utilities/idempotency/base.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def __init__(
7474
config: IdempotencyConfig,
7575
persistence_store: BasePersistenceLayer,
7676
output_serializer: BaseIdempotencySerializer | None = None,
77-
idempotency_key_custom_prefix: str | None = None,
77+
key_prefix: str | None = None,
7878
function_args: tuple | None = None,
7979
function_kwargs: dict | None = None,
8080
):
@@ -92,8 +92,8 @@ def __init__(
9292
output_serializer: BaseIdempotencySerializer | None
9393
Serializer to transform the data to and from a dictionary.
9494
If not supplied, no serialization is done via the NoOpSerializer
95-
idempotency_key_custom_prefix: str | Optional
96-
Custom prefix for idempotency key: idempotency_key_custom_prefix#hash
95+
key_prefix: str | Optional
96+
Custom prefix for idempotency key: key_prefix#hash
9797
function_args: tuple | None
9898
Function arguments
9999
function_kwargs: dict | None
@@ -105,12 +105,12 @@ def __init__(
105105
self.fn_args = function_args
106106
self.fn_kwargs = function_kwargs
107107
self.config = config
108-
self.idempotency_key_custom_prefix = idempotency_key_custom_prefix
108+
self.key_prefix = key_prefix
109109

110110
persistence_store.configure(
111111
config=config,
112112
function_name=f"{self.function.__module__}.{self.function.__qualname__}",
113-
idempotency_key_custom_prefix=self.idempotency_key_custom_prefix,
113+
key_prefix=self.key_prefix,
114114
)
115115

116116
self.persistence_store = persistence_store

aws_lambda_powertools/utilities/idempotency/idempotency.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def idempotent(
4040
context: LambdaContext,
4141
persistence_store: BasePersistenceLayer,
4242
config: IdempotencyConfig | None = None,
43-
idempotency_key_custom_prefix: str | None = None,
43+
key_prefix: str | None = None,
4444
**kwargs,
4545
) -> Any:
4646
"""
@@ -58,8 +58,8 @@ def idempotent(
5858
Instance of BasePersistenceLayer to store data
5959
config: IdempotencyConfig
6060
Configuration
61-
idempotency_key_custom_prefix: str | Optional
62-
Custom prefix for idempotency key: idempotency_key_custom_prefix#hash
61+
key_prefix: str | Optional
62+
Custom prefix for idempotency key: key_prefix#hash
6363
6464
Examples
6565
--------
@@ -97,7 +97,7 @@ def idempotent(
9797
function_payload=event,
9898
config=config,
9999
persistence_store=persistence_store,
100-
idempotency_key_custom_prefix=idempotency_key_custom_prefix,
100+
key_prefix=key_prefix,
101101
function_args=args,
102102
function_kwargs=kwargs,
103103
)
@@ -112,7 +112,7 @@ def idempotent_function(
112112
persistence_store: BasePersistenceLayer,
113113
config: IdempotencyConfig | None = None,
114114
output_serializer: BaseIdempotencySerializer | type[BaseIdempotencyModelSerializer] | None = None,
115-
idempotency_key_custom_prefix: str | None = None,
115+
key_prefix: str | None = None,
116116
**kwargs: Any,
117117
) -> Any:
118118
"""
@@ -133,8 +133,8 @@ def idempotent_function(
133133
If not supplied, no serialization is done via the NoOpSerializer.
134134
In case a serializer of type inheriting BaseIdempotencyModelSerializer is given,
135135
the serializer is derived from the function return type.
136-
idempotency_key_custom_prefix: str | Optional
137-
Custom prefix for idempotency key: idempotency_key_custom_prefix#hash
136+
key_prefix: str | Optional
137+
Custom prefix for idempotency key: key_prefix#hash
138138
139139
Examples
140140
--------
@@ -161,7 +161,7 @@ def process_order(customer_id: str, order: dict, **kwargs):
161161
persistence_store=persistence_store,
162162
config=config,
163163
output_serializer=output_serializer,
164-
idempotency_key_custom_prefix=idempotency_key_custom_prefix,
164+
key_prefix=key_prefix,
165165
**kwargs,
166166
),
167167
)
@@ -199,7 +199,7 @@ def decorate(*args, **kwargs):
199199
config=config,
200200
persistence_store=persistence_store,
201201
output_serializer=output_serializer,
202-
idempotency_key_custom_prefix=idempotency_key_custom_prefix,
202+
key_prefix=key_prefix,
203203
function_args=args,
204204
function_kwargs=kwargs,
205205
)

aws_lambda_powertools/utilities/idempotency/persistence/base.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def configure(
5858
self,
5959
config: IdempotencyConfig,
6060
function_name: str | None = None,
61-
idempotency_key_custom_prefix: str | None = None,
61+
key_prefix: str | None = None,
6262
) -> None:
6363
"""
6464
Initialize the base persistence layer from the configuration settings
@@ -69,12 +69,11 @@ def configure(
6969
Idempotency configuration settings
7070
function_name: str, Optional
7171
The name of the function being decorated
72-
idempotency_key_custom_prefix: str | Optional
73-
Custom prefix for idempotency key: idempotency_key_custom_prefix#hash
72+
key_prefix: str | Optional
73+
Custom prefix for idempotency key: key_prefix#hash
7474
"""
7575
self.function_name = (
76-
idempotency_key_custom_prefix
77-
or f"{os.getenv(constants.LAMBDA_FUNCTION_NAME_ENV, 'test-func')}.{function_name or ''}"
76+
key_prefix or f"{os.getenv(constants.LAMBDA_FUNCTION_NAME_ENV, 'test-func')}.{function_name or ''}"
7877
)
7978

8079
if self.configured:

docs/utilities/idempotency.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ You can change this expiration window with the **`expires_after_seconds`** param
362362

363363
!!! warning "Warning: Changing the idempotency key generation will invalidate existing idempotency records"
364364

365-
Use **`idempotency_key_custom_prefix`** parameter in the `@idempotent` or `@idempotent_function` decorators to define a custom prefix for your Idempotency Key. This allows you to decouple idempotency key name from function names. It can be useful during application refactoring, for example.
365+
Use **`key_prefix`** parameter in the `@idempotent` or `@idempotent_function` decorators to define a custom prefix for your Idempotency Key. This allows you to decouple idempotency key name from function names. It can be useful during application refactoring, for example.
366366

367367
=== "Using a custom prefix in Lambda Handler"
368368

examples/idempotency/src/working_with_custom_idempotency_key_prefix.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class Payment:
2222
class PaymentError(Exception): ...
2323

2424

25-
@idempotent(persistence_store=persistence_layer, idempotency_key_custom_prefix="my_custom_prefix") # (1)!
25+
@idempotent(persistence_store=persistence_layer, key_prefix="my_custom_prefix") # (1)!
2626
def lambda_handler(event: dict, context: LambdaContext):
2727
try:
2828
payment: Payment = create_subscription_payment(event)

examples/idempotency/src/working_with_custom_idempotency_key_prefix_standalone.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class Order:
2929
data_keyword_argument="order",
3030
config=config,
3131
persistence_store=dynamodb,
32-
idempotency_key_custom_prefix="my_custom_prefix", # (1)!
32+
key_prefix="my_custom_prefix", # (1)!
3333
)
3434
def process_order(order: Order):
3535
return f"processed order {order.order_id}"

tests/functional/idempotency/_boto3/test_idempotency.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2062,7 +2062,7 @@ def test_idempotent_function_with_custom_prefix_standalone_function():
20622062
@idempotent_function(
20632063
persistence_store=persistence_layer,
20642064
data_keyword_argument="record",
2065-
idempotency_key_custom_prefix="my-custom-prefix",
2065+
key_prefix="my-custom-prefix",
20662066
)
20672067
def record_handler(record):
20682068
return expected_result
@@ -2080,7 +2080,7 @@ def test_idempotent_function_with_custom_prefix_lambda_handler(lambda_context):
20802080
persistence_layer = MockPersistenceLayer(expected_idempotency_key=idempotency_key)
20812081
expected_result = {"message": "Foo"}
20822082

2083-
@idempotent(persistence_store=persistence_layer, idempotency_key_custom_prefix="my-custom-prefix")
2083+
@idempotent(persistence_store=persistence_layer, key_prefix="my-custom-prefix")
20842084
def lambda_handler(record, context):
20852085
return expected_result
20862086

0 commit comments

Comments
 (0)