Wie behebe ich Lambda-Genehmiger-Fehler bei API Gateway?
Ich habe einen AWS Lambda Authorizer an meine Amazon-API-Gateway-API angefügt. Ich möchte Lambda-Genehmiger-Fehler beheben, die ich bei API-Gateway-Aufrufanforderungen erhalte.
Lösung
Sicherstellen, dass die Aufrufanforderungen die Lambda-Funktion erreichen
Verwende Amazon CloudWatch, um die Aufrufmetrik zu überprüfen. Wenn die Metrik einen Wert anzeigt, erreichen deine Aufrufanforderungen die Lambda-Funktion.
Wenn die Metrik Aufrufe keine Aufrufe anzeigt, überprüfe die Metrik Drosselungen auf gedrosselte Aufrufanforderungen. Informationen zur Behebung der Lambda-Drosselung findest du unter Wie behebe ich die Drosselungsfehler „Rate exceeded“ und „TooManyRequestsException“ der Lambda-Funktion?
Die API-Gateway-Ausführungsprotokolle überprüfen, um den Fehler zu ermitteln
Um Lambda-Genehmiger-Fehler zu ermitteln, aktiviere die CloudWatch-API-Protokollierung und überprüfe die Protokolle. Behebe das Problem dann anhand der Fehlermeldung, die du erhältst.
Beheben des Fehlers „Invalid permissions on Lambda function“
Wenn du die folgende Fehlermeldung erhältst, ist die API-Gateway-API nicht berechtigt, die Lambda-Funktion aufzurufen:
„Execution failed due to configuration error: Invalid permissions on Lambda function“
Wenn du den Lambda-Genehmiger auf der API-Gateway-Konsole erstellst, fügt API Gateway der ressourcenbasierten Richtlinie der Lambda-Funktion automatisch die erforderlichen Berechtigungen hinzu. Wenn du den Lambda-Genehmiger mit Infrastructure as Code (IaC)-Tools wie AWS CloudFormation oder AWS Cloud Development Kit (AWS CDK) konfigurierst, musst du die Berechtigungen manuell hinzufügen.
Füge der ressourcenbasierten Richtlinie der Lambda-Funktion die folgenden Berechtigungen hinzu:
{ "Version": "2012-10-17", "Id": "default", "Statement": [ { "Sid": "xyz", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:your-region:accountID:function:function-name", "Condition": { "ArnLike": { "AWS:SourceArn": "arn:aws:execute-api:your-region:accountID:API_ID/authorizers/AuthorizerID" } } } ] }
Hinweis: Ersetze your-region durch deine AWS-Region, accountID durch deine AWS-Konto-ID, function-name durch deinen Lambda-Funktionsnamen. Ersetze außerdem API_ID durch deine API-Gateway-API-ID und AuthorizerID durch deine Lambda-Genehmiger-ID.
Informationen zum Konfigurieren eines kontoübergreifenden Lambda-Genehmigers findest du unter Konfigurieren eines kontoübergreifenden API-Gateway-Lambda-Genehmigers.
Beheben des Konfigurationsfehlers „Unable to parse given policy“
Wenn du die folgende Fehlermeldung erhältst, liegt ein Problem mit der Genehmiger-Lambda-Funktion vor:
„Execution failed due to configuration error: Unable to parse given policy“
Gehe wie folgt vor, um dieses Problem zu beheben:
- Öffne die Lambda-Konsole.
- Wähle im Navigationsbereich Funktionen aus und wähle dann deine Autorisierungs-Lambda-Funktion aus.
- Überprüfe die Codequelle der Funktion. Stelle sicher, dass der Code korrekt ist.<br id=hardline_break/> Hinweis: Gültige Beispiele findest du unter Beispiel für eine REQUEST-Genehmiger-Lambda-Funktion und Beispiel für eine TOKEN-Genehmiger-Lambda-Funktion.
- Teste die Funktion, um sicherzustellen, dass die Lambda-Funktion ordnungsgemäß funktioniert.
Beheben des Fehlers „AuthorizationFailureException“
Wenn du die folgende Fehlermeldung erhältst, hast du möglicherweise Probleme mit dem Lambda-Genehmiger:
„Execution failed due to an authorizer error Tue Jan 01 04:59:40 UTC 2020 : AuthorizerFailureException“
Um dieses Problem zu beheben, überprüfe die CloudWatch-Protokolle auf Autorisierungsfehler, Code-Syntax-Fehler oder Timeout-Probleme in der Lambda-Funktion.
Beheben des Fehlers „500 Internal Server Error“
Wenn du beim Aufrufen der API-Gateway-HTTP-API die Fehlermeldung „500 Internal Server Error“ erhältst, findest du weitere Informationen unter Problembehandlung bei Lambda-Genehmigern.
Hinweis: Wenn der Lambda-Genehmiger nicht innerhalb von 10 Sekunden reagiert, erhältst du auch diese Fehlermeldung.
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 2 Jahren
AWS OFFICIALAktualisiert vor einem Jahr