AWS Security ChangesHomeSearch

AWS powertools documentation change

Service: powertools · 2025-11-25 · Documentation low

File: powertools/typescript/latest/features/idempotency.md

Summary

Reformatted Redis cache configuration parameter table with new markdown syntax

Security assessment

Formatting change only, maintains existing security parameters without modification.

Diff

diff --git a/powertools/typescript/latest/features/idempotency.md b/powertools/typescript/latest/features/idempotency.md
index f9c7f7c71..b0112636c 100644
--- a//powertools/typescript/latest/features/idempotency.md
+++ b//powertools/typescript/latest/features/idempotency.md
@@ -46 +46 @@ Event Handler
-        * [ HTTP API  ](../event-handler/rest/)
+        * [ HTTP API  ](../event-handler/http/)
@@ -385 +385 @@ template.yaml
-          Runtime: nodejs22.x
+          Runtime: nodejs24.x
@@ -772 +772 @@ template.ts
-          compatibleRuntimes: [Runtime.NODEJS_22_X],
+          compatibleRuntimes: [Runtime.NODEJS_22_X, Runtime.NODEJS_24_X],
@@ -785 +785 @@ template.ts
-          runtime: Runtime.NODEJS_22_X,
+          runtime: Runtime.NODEJS_24_X,
@@ -876 +876 @@ template.ts
-          Runtime: nodejs22.x
+          Runtime: nodejs24.x
@@ -2289,11 +2289 @@ When using DynamoDB as a persistence layer, you can alter the attribute names by
-Parameter | Required | Default | Description  
----|---|---|---  
-**tableName** | ![✔](../../assets/external/cdn.jsdelivr.net/gh/jdecked/[email protected]/assets/svg/2714.svg) |  | Table name to store state  
-**keyAttr** |  | `id` | Partition key of the table. Hashed representation of the payload (unless **sort_key_attr** is specified)  
-**expiryAttr** |  | `expiration` | Unix timestamp of when record expires  
-**inProgressExpiryAttr** |  | `in_progress_expiration` | Unix timestamp of when record expires while in progress (in case of the invocation times out)  
-**statusAttr** |  | `status` | Stores status of the lambda execution during and after invocation  
-**dataAttr** |  | `data` | Stores results of successfully executed Lambda handlers  
-**validationKeyAttr** |  | `validation` | Hashed representation of the parts of the event used for validation  
-**sortKeyAttr** |  |  | Sort key of the table (if table is configured with a sort key).  
-**staticPkValue** |  | `idempotency#{LAMBDA_FUNCTION_NAME}` | Static value to use as the partition key. Only used when **sort_key_attr** is set.  
+||Parameter |Required |Default |Description || | ------------------------ | ------------------ | ------------------------------------ | -------------------------------------------------------------------------------------------------------- | ||**tableName** |![✔](../../assets/external/cdn.jsdelivr.net/gh/jdecked/[email protected]/assets/svg/2714.svg) | |Table name to store state || ||**keyAttr** | |`id` |Partition key of the table. Hashed representation of the payload (unless **sort_key_attr** is specified) || ||**expiryAttr** | |`expiration` |Unix timestamp of when record expires || ||**inProgressExpiryAttr** | |`in_progress_expiration` |Unix timestamp of when record expires while in progress (in case of the invocation times out) || ||**statusAttr** | |`status` |Stores status of the lambda execution during and after invocation || ||**dataAttr** | |`data` |Stores results of successfully executed Lambda handlers || ||**validationKeyAttr** | |`validation` |Hashed representation of the parts of the event used for validation || ||**sortKeyAttr** | | |Sort key of the table (if table is configured with a sort key). || ||**staticPkValue** | |`idempotency#{LAMBDA_FUNCTION_NAME}` |Static value to use as the partition key. Only used when **sort_key_attr** is set. ||
@@ -2457,8 +2447 @@ When using Cache as a persistence layer, you can alter the attribute names by pa
-Parameter | Required | Default | Description  
----|---|---|---  
-**client** | ![✔](../../assets/external/cdn.jsdelivr.net/gh/jdecked/[email protected]/assets/svg/2714.svg) |  | A connected Redis-compatible client instance  
-**expiryAttr** |  | `expiration` | Unix timestamp of when record expires  
-**inProgressExpiryAttr** |  | `in_progress_expiration` | Unix timestamp of when record expires while in progress (in case of the invocation times out)  
-**statusAttr** |  | `status` | Stores status of the lambda execution during and after invocation  
-**dataAttr** |  | `data` | Stores results of successfully executed Lambda handlers  
-**validationKeyAttr** |  | `validation` | Hashed representation of the parts of the event used for validation  
+||Parameter |Required |Default |Description || | ------------------------ | ------------------ | ------------------------------------ | -------------------------------------------------------------------------------------------------------- | ||**client** |![✔](../../assets/external/cdn.jsdelivr.net/gh/jdecked/[email protected]/assets/svg/2714.svg) | |A connected Redis-compatible client instance || ||**expiryAttr** | |`expiration` |Unix timestamp of when record expires || ||**inProgressExpiryAttr** | |`in_progress_expiration` |Unix timestamp of when record expires while in progress (in case of the invocation times out) || ||**statusAttr** | |`status` |Stores status of the lambda execution during and after invocation || ||**dataAttr** | |`data` |Stores results of successfully executed Lambda handlers || ||**validationKeyAttr** | |`validation` |Hashed representation of the parts of the event used for validation ||
@@ -2561,11 +2544 @@ Idempotent decorator can be further configured with **`IdempotencyConfig`** as s
-Parameter | Default | Description  
----|---|---  
-**eventKeyJmespath** | `''` | JMESPath expression to extract the idempotency key from the event record using [built-in functions](../jmespath/#built-in-jmespath-functions)  
-**payloadValidationJmespath** | `''` | JMESPath expression to validate that the specified fields haven't changed across requests for the same idempotency key _e.g., payload tampering._  
-**jmesPathOptions** | `undefined` | Custom JMESPath functions to use when parsing the JMESPath expressions. See [Custom JMESPath Functions](./#custom-jmespath-functions)  
-**throwOnNoIdempotencyKey** | `false` | Throw an error if no idempotency key was found in the request  
-**expiresAfterSeconds** | 3600 | The number of seconds to wait before a record is expired, allowing a new transaction with the same idempotency key  
-**useLocalCache** | `false` | Whether to cache idempotency results in-memory to save on persistence storage latency and costs  
-**localCacheMaxItems** | 256 | Max number of items to store in local cache  
-**hashFunction** | `md5` | Function to use for calculating hashes, as provided by the [crypto](https://nodejs.org/api/crypto.html#cryptocreatehashalgorithm-options) module in the standard library.  
-**responseHook** | `undefined` | 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](./#manipulating-the-idempotent-response)  
+||Parameter |Default |Description || | ----------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ||**eventKeyJmespath** |`''` |JMESPath expression to extract the idempotency key from the event record using [built-in functions](../jmespath/#built-in-jmespath-functions){target="_blank"} || ||**payloadValidationJmespath** |`''` |JMESPath expression to validate that the specified fields haven't changed across requests for the same idempotency key _e.g., payload tampering._ || ||**jmesPathOptions** |`undefined` |Custom JMESPath functions to use when parsing the JMESPath expressions. See [Custom JMESPath Functions](./#custom-jmespath-functions) || ||**throwOnNoIdempotencyKey** |`false` |Throw an error if no idempotency key was found in the request || ||**expiresAfterSeconds** |3600 |The number of seconds to wait before a record is expired, allowing a new transaction with the same idempotency key || ||**useLocalCache** |`false` |Whether to cache idempotency results in-memory to save on persistence storage latency and costs || ||**localCacheMaxItems** |256 |Max number of items to store in local cache || ||**hashFunction** |`md5` |Function to use for calculating hashes, as provided by the [crypto](https://nodejs.org/api/crypto.html#cryptocreatehashalgorithm-options) module in the standard library. || ||**responseHook** |`undefined` |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](./#manipulating-the-idempotent-response) ||
@@ -3676,5 +3649 @@ The example function above would cause data to be stored in DynamoDB like this:
-id | sort_key | expiration | status | data  
----|---|---|---|---  
-idempotency#MyLambdaFunction | 1e956ef7da78d0cb890be999aecc0c9e | 1636549553 | COMPLETED | {"paymentId": "12345, "message": "success", "statusCode": 200}  
-idempotency#MyLambdaFunction | 2b2cdb5f86361e97b4383087c1ffdf27 | 1636549571 | COMPLETED | {"paymentId": "527212", "message": "success", "statusCode": 200}  
-idempotency#MyLambdaFunction | f091d2527ad1c78f05d54cc3f363be80 | 1636549585 | IN_PROGRESS |   
+||id |sort_key |expiration |status |data || | ---------------------------- | -------------------------------- | ---------- | ----------- | ---------------------------------------------------------------- | ||idempotency#MyLambdaFunction |1e956ef7da78d0cb890be999aecc0c9e |1636549553 |COMPLETED |{"paymentId": "12345, "message": "success", "statusCode": 200} || ||idempotency#MyLambdaFunction |2b2cdb5f86361e97b4383087c1ffdf27 |1636549571 |COMPLETED |{"paymentId": "527212", "message": "success", "statusCode": 200} || ||idempotency#MyLambdaFunction |f091d2527ad1c78f05d54cc3f363be80 |1636549585 |IN_PROGRESS | ||
@@ -4684 +4653 @@ If you're interested in a deep dive on how Amazon uses idempotency when building
-2025-10-23 
+2025-11-21