Come faccio a risolvere gli errori "runtime exited" della funzione Lambda?

2 minuti di lettura
0

La mia funzione AWS Lambda ha riportato un errore di "runtime exited".

Breve descrizione

Gli errori di runtime Lambda riportano un codice di stato simile al seguente:

{
    "errorType": "Runtime.ExitError",
    "errorMessage": "RequestId: 1234aa1b-cd50-6c78-90cd-ce1234ce9950 Error: Runtime exited with error: exit status 129"
}

Risoluzione

Segui queste best practice per esaminare il codice della funzione Lambda, identificare la causa principale e quindi risolvere l'errore di runtime.

  • Controlla il codice della funzione per i codici di uscita che richiamano esplicitamente la sintassi come process.exit(0), exit(), quit(), os.exit(), Environment.Exit() e così via. Se il codice della funzione contiene uno di questi codici di uscita, rimuovili o sostituiscili con una dichiarazione di ritorno valida.
  • Esamina i file di log Amazon CloudWatch per la funzione Lambda e controlla la memoria delle funzioni. Lambda alloca la potenza della CPU in proporzione alla quantità di memoria configurata. Potrebbe essere necessario aumentare la quantità di memoria. È possibile configurare la quantità di memoria allocata a una funzione Lambda tra 128 MB e 10.240 MB. Puoi anche ottimizzare il codice per ridurre la quantità di risorse consumate. Per ulteriori informazioni, vedi Memoria e potenza di calcolo.
  • Se la funzione si connette ai database di backend, potrebbero verificarsi troppe connessioni. Per evitare connessioni non necessarie, inizializza le connessioni al database all'esterno del gestore delle funzioni. Le successive richieste di chiamata alla funzione Lambda possono riutilizzare queste connessioni al database. Per ulteriori informazioni, consulta Best practice per lavorare con le funzioni AWS Lambda.
  • I tentativi di riutilizzare una connessione inattiva quando si richiama una funzione Lambda generano un errore di connessione. Per mantenere una connessione persistente, usa la direttiva keep-alive associata al tuo runtime. Per ulteriori informazioni, vedi Riutilizzare le connessioni con keep-alive in Node.js.
  • Controlla se la funzione Lambda presenta errori di "memoria esaurita" a causa del limite di descrittori di file e thread di 1.024. Attiva il monitoraggio avanzato di Lambda Insights sulla funzione. È possibile cercare e analizzare i dati di log per le metriche sull'utilizzo della memoria utilizzando una sintassi di query specializzata. Ad esempio, puoi monitorare la metrica fd_use. Le metriche sono archiviate nel nome del gruppo di log /aws/lambda-insights. Per ulteriori informazioni, consulta Metriche raccolte da Lambda Insights.

Informazioni correlate

Come faccio a determinare se la mia funzione Lambda va in timeout?

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa