Jedes Mal, wenn ich einen Syntaxfehler habe oder ich einfach einen benutzerdefinierten Fehler in meiner AWS Lambda-Funktion senden möchte, bekomme ich die gleiche 502 Bad Gateway-Antwort (Interner Serverfehler).Fehler in AWS Lambda-Funktion mit API-Gateway
habe ich versucht, so einfach Code:
module.exports.saveImage = (event, context, callback) => {
callback("the sky is falling!"); // also tried sending new Error("the sky is falling!")
}
Und immer noch die gleiche „Interner Serverfehler“ Antwort anstelle des definierten machtlos.
Dies ist meine Funktion in der Datei serverless.yml:
saveImage:
handler: handler.saveImage
environment:
BUCKET: ${self:custom.bucket}
events:
- http:
path: saveImage
method: post
cors: true,
integration: lambda-proxy
Darf ich etwas von diesem Artikel falsch verstanden? Es scheint die "errorMessage" zu erhalten: "Der Himmel fällt!" in der API-Gateway-Antwort (und das ist, was ich erwarten würde).
Haben Sie den Integrationsantwortbereich des API-Gateways konfiguriert, um die Antwort des Lambda zu verarbeiten? –
Ich habe meine Frage mit der serverless.yml-Konfiguration aktualisiert. By the way, kann ich die Antwort erhalten, wenn ich den Fehler im zweiten Argument setzen, wie folgt aus: Rückruf (null, { Körper: JSON.stringify ( { errormessage: "mein Fehler" }) }); So sollten wir Fehler behandeln? Ich dachte, wir können das erste Argument verwenden, um Fehler zu senden. – Emi