UNPKG

@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
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