Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Come posso impedire richiami duplicati di funzioni Lambda?
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.
- Assicurati che il codice della tua funzione Lambda sia idempotente e in grado di gestire i messaggi più volte.
- Assicurati che la tua funzione Lambda abbia il suo limite di simultaneità impostato su un valore abbastanza altoda gestire il numero di richieste di richiamo che riceve.
- Identifica e risolvi eventuali errori restituiti dalla funzione Lambda.
Nota: per risolvere i problemi relativi ai richiami delle funzioni, consulta Come si risolvono gli errori della funzione Lambda?
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.
- Assicurati che il codice della tua funzione Lambda sia idempotente e in grado di gestire i messaggi più volte.
- Identifica e risolvi eventuali errori restituiti dalla funzione Lambda.
Nota: per risolvere i problemi relativi ai richiami delle funzioni, consulta Come si risolvono gli errori della funzione Lambda?
Informazioni correlate
Visualizzazione degli eventi con lo storico degli eventi di CloudTrail
Best practice per lavorare con le funzioni AWS Lambda
