AWS-Lambda-API-Gateway-Fehler "Fehlerhafte Lambda-Proxy-Antwort"
Bin ich, die versuchen, ein Hallo-Welt-Beispiel mit AWS lambda und servieren es durch api-gateway. Ich klickte auf den "Erstellen Sie eine Lambda-Funktion", welche die api-gatway und ausgewählt, die Blank-Funktion option. Ich fügte hinzu, die lambda-Funktion finden Sie auf AWS-gateway-erste Schritte:
exports.handler = function(event, context, callback) {
callback(null, {"Hello":"World"}); //SUCCESS with message
};
Das Problem ist, dass wenn ich eine GET-Anfrage, es ist das zurückkehren 502 Antwort { "message": "Internal server error" }
. Und die logs sagen "Ausführung fehlgeschlagen ist aufgrund der Konfiguration Fehler: Fehlerhafte Lambda-proxy-Antwort".
InformationsquelleAutor der Frage jjbskir | 2017-04-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Regel, wenn Sie sehen
Malformed Lambda proxy response
es bedeutet, dass Ihre Antwort von Ihrer Lambda-Funktionen nicht dem format entsprechen, das API-Gateway erwartet wird, wie diesWenn Sie nicht mit einer Lambda-proxy-integration, Sie können sich anmelden, API-Gateway-Konsole und deaktivieren Sie die Lambda-proxy-integration aktivieren.
Auch, wenn Sie sehen, intermittierende
Malformed Lambda proxy response
kann das bedeuten, dass die Anforderung an Ihre Lambda-Funktion wurde gedrosselt, von der Lambda, und Sie fordern eine gleichzeitige Ausführung limit-Erhöhung auf die Lambda-Funktion.InformationsquelleAutor der Antwort Ka Hou Ieong
Wenn lambda-Ausdruck verwendet wird, als proxy dann die Antwort-format sollte
Beachten : Der Körper sollte stringified
InformationsquelleAutor der Antwort selftaught91
Yeah so ich denke, das ist, weil Sie nicht tatsächlich wieder einen richtigen http-response gibt, die ist, warum Sie immer die Fehler.
persönlich habe ich eine Reihe von Funktionen wie:
Dann einfach:
InformationsquelleAutor der Antwort Mrk Fldig
Aus der AWS-docs
InformationsquelleAutor der Antwort Jonathan
Ein sehr sehr spezieller Fall, wenn du an den Header direkt es gibt eine chance, Sie haben diesen header:
"set-cookie": [ "........" ]
Aber Amazon braucht diese:
"set-cookie": "[ \\"........\\" ]"
InformationsquelleAutor der Antwort Miguel
Hatte ich diese Fehler, da ich versehentlich entfernt die variable ServerlessExpressLambdaFunctionName aus der CloudFormation AWS::Serverlose::Api-Ressource. Der Kontext hier ist https://github.com/awslabs/aws-serverless-express "Run serverlose Anwendungen und REST-APIs, mit Ihren vorhandenen Node.js Anwendungs-framework on top der AWS Lambda-und Amazon-API-Gateway"
InformationsquelleAutor der Antwort Mark
Falls die oben nicht funktioniert, für niemanden, ich lief in dieser Fehler trotz Einstellung der response-variable korrekt.
Ich machte einen Anruf an eine RDS-Datenbank in meiner Funktion. Es stellte sich heraus, dass, was verursacht wurde, das problem war die Sicherheit der Gruppe Regeln (inbound) auf die Datenbank.
Werden Sie wahrscheinlich wollen, Schränken Sie die IP-Adressen, die Zugriff auf die API, aber wenn Sie wollen, um es zu erhalten arbeitend quick /dirty, um zu testen, ob das ändern, behebt Sie können Sie akzeptieren alle so (Sie können auch festlegen, dass der Bereich der ports zu akzeptieren, alle ports zu, aber ich wusste nicht, dass in diesem Beispiel):
InformationsquelleAutor der Antwort abe732
Anderen Menschen kämpft, wenn die Antwort gültig erscheint. Funktioniert nicht:
aber das bedeutet:
Auch, es wird angezeigt, dass keine zusätzlichen Schlüssel sind erlaubt anwesend zu sein, auf das response-Objekt.
InformationsquelleAutor der Antwort Ciryon
Wenn Sie Gehen mit https://github.com/aws/aws-lambda-gomüssen Sie
events.APIGatewayProxyResponse
.InformationsquelleAutor der Antwort Kohei Mikami