You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Support for Amazon DynamoDB, Redis, and bring your own persistence layer
18
16
19
17
## Terminology
20
18
@@ -73,7 +71,7 @@ We currently support Amazon DynamoDB and Redis as a storage layer. The following
73
71
If you're not [changing the default configuration for the DynamoDB persistence layer](#dynamodbpersistencelayer), this is the expected default configuration:
| TTL attribute name |`expiration`| This can only be configured after your table is created if you're using AWS Console |
79
77
@@ -379,12 +377,12 @@ This persistence layer is built-in, allowing you to use an existing Redis servic
379
377
380
378
When using Redis as the persistence layer, you can customize the attribute names by providing the following parameters upon initialization of the persistence layer:
|**in_progress_expiry_attr**||`in_progress_expiration`| Unix timestamp of when record expires while in progress (in case of the invocation times out) |
383
+
|**status_attr**||`status`| Stores status of the Lambda execution during and after invocation |
384
+
|**data_attr**||`data`| Stores results of successfully executed Lambda handlers |
385
+
|**validation_key_attr**||`validation`| Hashed representation of the parts of the event used for validation|
388
386
389
387
### Idempotency request flow
390
388
@@ -733,15 +731,15 @@ For advanced configurations, such as setting up SSL certificates or customizing
733
731
734
732
Idempotent decorator can be further configured with **`IdempotencyConfig`** as seen in the previous example. These are the available options for further configuration
|**event_key_jmespath**|`""`| JMESPath expression to extract the idempotency key from the event record using [built-in functions](./jmespath_functions.md#built-in-jmespath-functions){target="_blank"} |
739
-
|**payload_validation_jmespath**|`""`| JMESPath expression to validate whether certain parameters have changed in the event while the event payload |
740
-
|**raise_on_no_idempotency_key**|`False`| Raise exception if no idempotency key was found in the request |
741
-
|**expires_after_seconds**| 3600 | The number of seconds to wait before a record is expired |
742
-
|**use_local_cache**|`False`| Whether to locally cache idempotency results |
743
-
|**local_cache_max_items**| 256 | Max number of items to store in local cache |
744
-
|**hash_function**|`md5`| Function to use for calculating hashes, as provided by [hashlib](https://docs.python.org/3/library/hashlib.html){target="_blank" rel="nofollow"} in the standard library. |
|**event_key_jmespath**|`""`| JMESPath expression to extract the idempotency key from the event record using [built-in functions](./jmespath_functions.md#built-in-jmespath-functions){target="_blank"} |
737
+
|**payload_validation_jmespath**|`""`| JMESPath expression to validate whether certain parameters have changed in the event while the event payload |
738
+
|**raise_on_no_idempotency_key**|`False`| Raise exception if no idempotency key was found in the request |
739
+
|**expires_after_seconds**| 3600 | The number of seconds to wait before a record is expired |
740
+
|**use_local_cache**|`False`| Whether to locally cache idempotency results |
741
+
|**local_cache_max_items**| 256 | Max number of items to store in local cache |
742
+
|**hash_function**|`md5`| Function to use for calculating hashes, as provided by [hashlib](https://docs.python.org/3/library/hashlib.html){target="_blank" rel="nofollow"} in the standard library. |
745
743
|**response_hook**|`None`| Function to use for processing the stored Idempotent response. This function hook is called when an existing idempotent response is found. See [Manipulating The Idempotent Response](idempotency.md#manipulating-the-idempotent-response)|
746
744
747
745
### Handling concurrent executions with the same payload
0 commit comments