Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
In che modo Lambda gestisce gli errori e i nuovi tentativi con una invocazione asincrona
Lambda gestisce la coda di eventi asincroni della funzione ed effettua nuovi tentativi in caso di errori. Se la funzione restituisce un errore, per impostazione predefinita Lambda prova a eseguirla altre due volte, con un minuto di attesa tra i primi due tentativi e due minuti tra il secondo e il terzo. Gli errori delle funzioni di evento includono gli errori restituiti dal codice della funzione e gli errori restituiti dal runtime della funzione, come i timeout.
Se la Event Function non dispone di una quantità di concorrenza sufficiente per elaborare tutti gli eventi, le richieste aggiuntive vengono limitate. Per gli errori di limitazione (429) e gli errori di sistema (serie 500), Lambda restituisce l'evento alla coda e prova a eseguire nuovamente la funzione per un massimo di 6 ore. L'intervallo tra i tentativi aumenta esponenzialmente da 1 secondo dopo il primo tentativo a un massimo di 5 minuti. Se la coda contiene molte voci, Lambda aumenta l'intervallo dei tentativi e riduce la velocità con cui legge gli eventi dalla coda.
Anche se la tua Event Function non restituisce un errore, è possibile che riceva lo stesso evento da Lambda più volte perché la coda stessa alla fine è coerente. Se la funzione non è in grado di seguire gli eventi in entrata, gli eventi possono anche essere eliminati dalla coda senza essere inviati alla funzione. Verificare che il codice della funzione gestisca normalmente gli eventi duplicati e che si disponga di sufficiente concorrenza per gestire tutte le invocazioni.
Quando la coda è molto lunga, i nuovi eventi potrebbero esaurirsi prima che Lambda abbia la possibilità di inviarli alla tua Event Function. Quando un evento scade o fallisce tutti i tentativi di elaborazione, Lambda lo scarta. È possibile configurare la gestione degli errori per una funzione evento per ridurre il numero di tentativi eseguiti da Lambda o per eliminare più rapidamente gli eventi non elaborati. Per conservare gli eventi scartati, configurare una coda DLQ per la funzione. Per registrare le registrazioni delle chiamate non riuscite (come timeout o errori di runtime), create una destinazione in caso di errore.