import { makeIdempotent, IdempotencyConfig } from '@aws-lambda-powertools/idempotency'; import { DynamoDBPersistenceLayer } from '@aws-lambda-powertools/idempotency/dynamodb'; import type { APIGatewayEvent } from 'aws-lambda'; import type { Context } from 'aws-lambda'; const persistenceStore = new DynamoDBPersistenceLayer({ tableName: process.env.IDEMPOTENCY_TABLE_NAME!, }); export const handler = makeIdempotent( async (event: APIGatewayEvent, context: Context) => { // Your business logic here return { message: 'success', statusCode: 200, }; }, { persistenceStore, config: new IdempotencyConfig({ eventKeyJmesPath: 'powertools_json(body).["id"]', expiresAfterSeconds: 86400 // EventBridge might retry for up to 24 hours }) } );