Come posso impedire richiami duplicati di funzioni Lambda?

Ultimo aggiornamento: 18-11-2021

La mia funzione AWS Lambda continua a ricevere più di una richiesta di richiamo per un singolo evento. Come posso impedire che la mia funzione Lambda sia richiamata più volte dallo stesso evento?

Breve descrizione

Per evitare richiami duplicati di funzioni Lambda, procedi come segue in base al tipo di richiamo che stai utilizzando.

Nota: per i richiami sincroni, i client e i servizi AWS che richiamano una funzione Lambda sono responsabili dell'esecuzione di nuovi tentativi. Per i richiami asincroni, Lambda ricerca automaticamente in caso di errore, con ritardi tra i tentativi.

Risoluzione

Per richiami asincroni

Controlla Amazon CloudWatch Logs della tua funzione Lambda per verificare quanto segue:

  • Se i richiami duplicati hanno lo stesso ID richiesta o meno
  • Se i richiami duplicati hanno restituito errori o sono scadute

Quindi, esegui una delle seguenti operazioni in base al tuo caso d'uso:

Per richiami duplicati che hanno restituito errori o sono scaduti e che hanno lo stesso ID richiesta

Nota: i richiami duplicati che restituiscono errori o timeout e che hanno lo stesso ID di richiesta indicano che il servizio Lambda ha riprovato la funzione.

Configura la gestione degli errori per i richiami asincroni per ridurre il numero di volte in cui la funzione Lambda riprova richieste di richiamo asincrone non riuscite.

Per ulteriori informazioni, consulta Gestione degli errori e tentativi automatici in AWS Lambda.

Per richiami duplicati che non hanno restituito errori o timeout

Nota: i richiami duplicati che non restituiscono errori o timeout indicano tentativi sul lato client.

Per richiami sincroni

Nota: il comportamento dei tentativi di chiamata sincrona varia a seconda dei servizi AWS, in base alla mappatura dell'origine degli eventi di ciascun servizio. Per ulteriori informazioni, consulta Richiamo guidato da eventi.