AWS API-Gateway: Ausführung wegen Konfigurationsfehler fehlgeschlagen: Keine Übereinstimmung für Ausgabezuordnung und keine Standardausgabezuordnung konfiguriert

8

In AWS API Gateway habe ich eine GET-Methode, die eine Lambda-Funktion aufruft.

Beim Testen der Methode im API Gateway-Dashboard wird die Lambda-Funktion erfolgreich ausgeführt, aber API Gateway ordnet den Aufruf context.success () keinem 200-Ergebnis zu, obwohl die Standardzuordnung auf yes gesetzt ist.

Stattdessen bekomme ich diesen Fehler:

%Vor%

Dies ist mein Integration Response Setup:

Und das ist meine Methode Antwort-Setup:

Grundsätzlich würde ich erwarten, dass das API-Gateway die erfolgreiche Lambda-Ausführung erkennt und diese dann standardmäßig auf eine 200-Antwort abbildet das passiert nicht.

Weiß jemand, warum das nicht funktioniert?

    
Zigglzworth 06.12.2015, 16:59
quelle

4 Antworten

4

Beim Speichern der Standard-Integrationsantwort-Zuordnung, die behoben wurde, ist ein Problem aufgetreten. Der Fehler verursachte Anforderungen an API-Methoden, die falsch gespeichert wurden, um einen 500-Fehler zurückzugeben. Die CloudWatch-Protokolle sollten Folgendes enthalten:

%Vor%

Da das 'ENABLE CORS' die standardmäßige Integrationsantwort speichert, ist dieses Problem auch in Ihrem Szenario aufgetreten.

Weitere Informationen finden Sie im AWS-Foreneintrag: Ссылка

Am besten,

Jurgen

    
Jurgen 09.12.2015, 18:23
quelle
2

Was für mich funktioniert hat:
1. In der Api Gateway Console erstellte OPTIONS Methode manuell
2. Im Abschnitt Method Response unter der erstellten OPTIONS-Methode wurde 200 OK hinzugefügt 3. Ausgewählte Option Methode und aktiviert CORS aus dem Menü

    
Tapirek 17.09.2017 15:53
quelle
1

Ich habe das Problem gefunden:

Amazon hat eine neue Schaltfläche in der API-Gateway-Ressourcenkonfiguration hinzugefügt betitelt 'Aktivieren CORS'. Ich hatte das vorher jedoch einmal angeklickt es scheint keine Möglichkeit zu geben, es zu deaktivieren

Das Aktivieren von CORS mit dieser Schaltfläche (anstatt es manuell zu tun, was ich am Ende getan habe) scheint sogar bei einem Serverfehler einen internen Serverfehler zu verursachen erfolgreiche Lambda-Ausführung.

LÖSUNG: Ich habe die Ressource gelöscht und neu erstellt, ohne zu klicken auf 'Aktivieren Sie CORS' dieses Mal und alles hat gut funktioniert.

Dies scheint ein Fehler mit dieser Funktion zu sein, aber vielleicht tue ich es einfach nicht verstehe es gut genug. Kommentar wenn Sie weitere Informationen haben. Vielen Dank.

    
Zigglzworth 06.12.2015 17:46
quelle
0

Ich hatte das gleiche Problem, habe es gelöst, indem ich die Methode response 200

hinzugefügt habe     
raaone7 01.04.2018 09:13
quelle