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à.
Gestione degli errori con un'API di API Gateway
API Gateway tratta tutti gli errori di invocazione e di Event Function come errori interni. Se l'API Lambda rifiuta la richiesta di invocazione, API Gateway restituisce un codice di errore 500. Se la Event Function viene eseguita ma restituisce un errore o restituisce una risposta nel formato errato, API Gateway restituisce un 502. In entrambi i casi, il corpo della risposta da API Gateway è {"message":
"Internal server error"}.
Nota
API Gateway non riprova le invocazioni Lambda. Se Lambda restituisce un errore, API Gateway restituisce una risposta di errore al client.
L'esempio seguente mostra una mappa di X-Ray traccia per una richiesta che ha provocato un errore di funzione e un 502 da API Gateway. Il client riceve il messaggio di errore generico.
Per personalizzare la risposta di errore, è necessario rilevare gli errori nel codice e formattare una risposta nel formato richiesto.
Esempio index.mjs — Errore di formattazione
var formatError = function(error){ var response = { "statusCode": error.statusCode, "headers": { "Content-Type": "text/plain", "x-amzn-ErrorType": error.code }, "isBase64Encoded": false, "body": error.code + ": " + error.message } return response }
API Gateway converte questa risposta in un errore HTTP con un codice di stato personalizzato e un corpo. Nella mappa di tracciamento, il nodo della funzione è verde perché ha gestito l'errore.