View a markdown version of this page

Le migliori pratiche per le funzioni durevoli Lambda - AWS Lambda

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à.

Le migliori pratiche per le funzioni durevoli Lambda

Le funzioni durevoli utilizzano un modello di esecuzione basato sulla riproduzione che richiede pratiche di programmazione diverse rispetto alle tradizionali funzioni Lambda. Consulta le best practice nella AWS Durable Execution SDK Developer Guide per indicazioni su come scrivere e testare codice durevole per flussi di lavoro.

Le seguenti raccomandazioni sono le migliori pratiche per l'implementazione, il richiamo e il monitoraggio delle funzioni durevoli Lambda.

Versioni e alias delle funzioni

Richiama funzioni con numeri di versione o alias per associare le esecuzioni a versioni di codice specifiche. Assicurati che le nuove versioni del codice siano in grado di gestire lo stato delle versioni precedenti. Non rinominate le fasi né modificate il loro comportamento in modo da interrompere la riproduzione.

Monitoraggio

Abilita la registrazione strutturata con ID di esecuzione e nomi dei passaggi. Imposta CloudWatch allarmi per i tassi di errore e la durata dell'esecuzione. Usa il tracciamento per identificare i punti deboli. Per una guida dettagliata, consulta Monitoraggio e debug.

Gestione degli errori

Oltre a configurare le strategie di ripetizione dei tentativi per gli errori transitori, configurate una coda di lettere morte (DLQ) sulla funzione duratura per acquisire gli eventi derivanti da esecuzioni permanentemente fallite. Quando un'esecuzione durevole raggiunge uno stato terminale (FAILED, STOPED o TIMED_OUT) dopo una chiamata asincrona, Lambda invia l'evento di attivazione originale al DLQ. Ciò consente di ispezionare, eseguire il debug e, facoltativamente, rielaborare gli eventi non riusciti senza perderli.

Per configurare un DLQ, imposta la DeadLetterConfig proprietà sulla tua funzione su una coda Amazon SQS o su un argomento ARN di Amazon SNS. Per ulteriori informazioni, consulta le code. Dead-letter

Segui queste best practice per la gestione degli errori con funzioni durevoli:

  • Configura un DLQ per le chiamate asincrone: allega sempre una coda di lettere morte quando richiami funzioni durevoli in modo asincrono. A differenza delle funzioni Lambda standard, le esecuzioni durature non vengono ritentate automaticamente in caso di errore, quindi il DLQ è la rete di sicurezza per l'acquisizione degli eventi che hanno portato a esecuzioni permanentemente fallite.

  • Usa strategie di riprova in pochi passaggi: configura strategie di ritentativo esplicite con un backoff appropriato per gli errori temporanei. Per indicazioni sulla configurazione dei nuovi tentativi, vedi Riprova per funzioni durevoli.

  • Combina DLQ e EventBridge notifiche: utilizza le EventBridge regole per avvisare in caso di modifiche allo stato di FAILED, STOPED e TIMED_OUT per una visibilità in tempo reale e utilizza un DLQ per preservare il payload originale dell'evento per analisi o rielaborazione successive.

  • Monitora la profondità del DLQ: crea un CloudWatch allarme sulla ApproximateNumberOfMessagesVisible metrica per il tuo DLQ per rilevare quando i guasti si accumulano.

Risorse correlate