@aws-lambda-powertools/idempotency
Version:
The idempotency package for the Powertools for AWS Lambda (TypeScript) library. It provides options to make your Lambda functions idempotent and safe to retry.
32 lines • 1.43 kB
TypeScript
import type { MiddlewareLikeObj } from '@aws-lambda-powertools/commons/types';
import type { IdempotencyLambdaHandlerOptions } from '../types/IdempotencyOptions.js';
/**
* A middy middleware to make your Lambda Handler idempotent.
*
* @example
* ```typescript
* import { makeHandlerIdempotent } from '@aws-lambda-powertools/idempotency/middleware';
* import { DynamoDBPersistenceLayer } from '@aws-lambda-powertools/idempotency/dynamodb';
* import middy from '@middy/core';
*
* const persistenceStore = new DynamoDBPersistenceLayer({
* tableName: 'idempotencyTable',
* });
*
* export const handler = middy(
* async (_event: unknown, _context: unknown): Promise<void> => {
* // your code goes here
* }
* ).use(makeHandlerIdempotent({ persistenceStore: dynamoDBPersistenceLayer }));
* ```
*
* For the middleware to work, your Lambda function handler must return a value different from `undefined`.
* This is a [known limitation of the early return feature in Middy.js](https://github.com/middyjs/middy/issues/1236).
*
* If your use case requires early returns, you can use the {@link index.makeIdempotent | makeIdempotent()} function wrapper instead.
*
* @param options - Options for the idempotency middleware
*/
declare const makeHandlerIdempotent: (options: IdempotencyLambdaHandlerOptions) => MiddlewareLikeObj;
export { makeHandlerIdempotent };
//# sourceMappingURL=makeHandlerIdempotent.d.ts.map