Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Wenn Sie eine Lambda-Funktion aufrufen, validiert Lambda die Anforderung und überprüft die Skalierungskapazität, bevor es das Ereignis an Ihre Funktion oder bei asynchronem Aufruf an die Ereigniswarteschlange sendet. Aufruffehler können durch Probleme mit Anforderungsparametern, Ereignisstruktur, Funktionseinstellungen, Benutzerberechtigungen, Ressourcenberechtigungen oder Grenzwerten verursacht werden.
Wenn Sie Ihre Funktion direkt aufrufen, sehen Sie Aufruffehler in der Antwort von Lambda. Wenn Sie Ihre Funktion asynchron mit einer Ereignisquellen-Zuweisung oder über einen anderen Service aufrufen, finden Sie möglicherweise Fehler in Protokollen, eine Warteschlange für unzustellbare Nachrichten oder ein Ziel für fehlerhafte Ereignisse. Die Optionen für die Fehlerbehandlung und das Wiederholungsverhalten variieren je nachdem, wie Sie Ihre Funktion aufrufen, und nach der Art des Fehlers.
Eine Liste der Fehlertypen, die der Invoke
-Vorgang zurückgeben kann, finden Sie unter Aufrufen.
Themen
Lambda: Funktion bricht während der Init-Phase ab (Sandbox.Timedout)
Lambda: Es konnte kein gültiger Bootstrap gefunden werden (Runtime). InvalidEntrypoint)
Lambda: Vorgang kann nicht ausgeführt werden ResourceConflictException
Allgemein: Funktion kann nicht mit anderen Konten oder Diensten aufgerufen werden
EFS: Die Funktion konnte keine Verbindung zum EFS-Dateisystem herstellen
EFS: Die Funktion konnte das EFS-Dateisystem aufgrund eines Timeouts nicht mounten
Lambda: Lambda hat einen IO-Prozess erkannt, der zu lange dauerte
Lambda: Funktion bricht während der Init-Phase ab (Sandbox.Timedout)
Fehler: Zeitüberschreitung der Aufgabe nach 3,00 Sekunden
Wenn die Init-Phase abläuft, initialisiert Lambda die Ausführungsumgebung erneut, indem es die Init
-Phase erneut durchläuft, wenn die nächste Aufrufanforderung eintrifft. Dies wird als unterdrückte Initialisierung bezeichnet. Wenn Ihre Funktion jedoch mit einer kurzen Timeout-Dauer (in der Regel etwa 3 Sekunden) konfiguriert ist, kann es sein, dass die unterdrückte Initialisierung während der zugewiesenen Timeout-Dauer nicht abgeschlossen wird, sodass für die Init
-Phase erneut ein Timeout auftritt. Alternativ wird die unterdrückte Initialisierung abgeschlossen, es bleibt aber nicht genügend Zeit für den Abschluss der Invoke-Phase übrig, was zu einem Timeout für die Invoke
-Phase führt.
Um Timeout-Fehler zu reduzieren, verwenden Sie eine oder mehrere der folgenden Strategien:
-
Erhöhen Sie die Dauer des Funktions-Timeouts: Verlängern Sie das Timeout, um den
Init
- undInvoke
-Phasen Zeit zu geben, erfolgreich abgeschlossen zu werden. -
Erhöhen Sie die Zuweisung des Funktionsspeichers: Mehr Arbeitsspeicher bedeutet auch eine proportionalere CPU-Zuweisung, wodurch sowohl die
Init
-Phase als auch dieInvoke
-Phasen beschleunigt werden können. -
Optimieren Sie den Code für die Funktionsinitialisierung: Reduzieren Sie die für die Initialisierung benötigte Zeit, um sicherzustellen, dass die
Init
- undInvoke
-Phase innerhalb der konfigurierten Zeitspanne abgeschlossen werden kann. -
Fehlerbehandlung hinzufügen: Eine korrekte Fehlerbehandlung im Funktionscode kann verhindern, dass die Lambda-Ausführungsumgebung ausfällt und wiederholte Initialisierungsversuche auslöst.
IAM: Lambda: InvokeFunction nicht autorisiert
Fehler: Benutzer: arn:aws:iam: :123456789012:user/developer ist nicht berechtigt, Folgendes auszuführen: lambda: on resource: my-function InvokeFunction
Ihr Benutzer oder die Rolle, die Sie annehmen, muss über die Berechtigung zum Aufrufen einer Funktion verfügen. Diese Anforderung gilt auch für Lambda-Funktionen und andere Datenverarbeitungsressourcen, die Funktionen aufrufen. Fügen Sie Ihrem Benutzer die AWSLambdaRolle der AWS verwalteten Richtlinie hinzu, oder fügen Sie eine benutzerdefinierte Richtlinie hinzu, die die Aktion für die Zielfunktion ermöglicht. lambda:InvokeFunction
Anmerkung
Der Name der IAM-Aktion (lambda:InvokeFunction
) bezieht sich auf den Invoke
-Lambda-API-Vorgang.
Weitere Informationen finden Sie unter Verwaltung von Berechtigungen in AWS Lambda.
Lambda: Es konnte kein gültiger Bootstrap gefunden werden (Runtime). InvalidEntrypoint)
Fehler: Es konnten keine gültigen Bootstrap (s) gefunden werden: [/var/task/bootstrap /opt/bootstrap]
Dieser Fehler tritt normalerweise auf, wenn das Stammverzeichnis Ihres Bereitstellungspakets keine ausführbare Datei mit dem Namen bootstrap
enthält. Wenn Sie beispielsweise eine provided.al2023
-Funktion über eine ZIP-Datei bereitstellen, muss sich die bootstrap
-Datei im Stammverzeichnis der ZIP-Datei befinden, nicht in einem Verzeichnis.
Lambda: Vorgang kann nicht ausgeführt werden ResourceConflictException
FehlerResourceConflictException: Der Vorgang kann derzeit nicht ausgeführt werden. Die Funktion befindet sich derzeit in folgendem Zustand: Ausstehend
Wenn Sie zum Zeitpunkt der Erstellung eine Funktion mit einer Virtual Private Cloud (VPC) verbinden, wechselt die Funktion in einen Pending
-Zustand, während Lambda Elastic-Network-Schnittstellen erstellt. Während dieser Zeit können Sie Ihre Funktion nicht aufrufen oder ändern. Wenn Sie Ihre Funktion nach der Erstellung mit einer VPC verbinden, können Sie sie aufrufen, während das Update aussteht, aber Sie können den Code oder die Konfiguration nicht ändern.
Weitere Informationen finden Sie unter Lambda-Funktionszustände.
Lambda: Funktion bleibt im Status Pending
Fehler: Eine Funktion bleibt mehrere Minuten im Pending
-Zustand.
Wenn eine Funktion länger als sechs Minuten im Pending
-Zustand ist, rufen Sie eine der folgenden API-Operationen auf, um die Blockierung aufzuheben.
Lambda bricht den ausstehenden Vorgang ab und versetzt die Funktion in den Failed
-Zustand. Sie können dann versuchen, eine weitere Aktualisierung durchzuführen.
Lambda: Eine Funktion verwendet alle Parallelität
Problem: Eine Funktion verwendet die gesamte verfügbare Gleichzeitigkeit, wodurch andere Funktionen gedrosselt werden.
Um die verfügbare Parallelität Ihres AWS Kontos in einer AWS Region in Pools aufzuteilen, verwenden Sie reservierte Parallelität. Durch reservierte Gleichzeitigkeit wird sichergestellt, dass eine Funktion immer auf ihre zugewiesene Gleichzeitigkeit skalieren kann und nicht über die zugewiesene Gleichzeitigkeit hinaus skaliert wird.
Allgemein: Funktion kann nicht mit anderen Konten oder Diensten aufgerufen werden
Problem: Sie können Ihre Funktion direkt aufrufen. Sie wird jedoch nicht ausgeführt, wenn sie von einem anderen Service oder Konto aufgerufen wird.
Sie erteilen anderen Services und Konten die Berechtigung zum Aufrufen einer Funktion in der ressourcenbasierten Richtlinieder Funktion. Wenn sich der Aufrufer in einem anderen Konto befindet, benötigt dieser Benutzer auch die Berechtigung zum Aufrufen von Funktionen.
Allgemein: Funktionsaufruf bleibt im Looping
Problem: Die Funktion wird kontinuierlich in einer Schleife aufgerufen.
Dies ist in der Regel der Fall, wenn Ihre Funktion Ressourcen in demselben AWS Dienst verwaltet, der sie auslöst. Beispielsweise ist es möglich, eine Funktion zu erstellen, die ein Objekt in einem Bucket von Amazon Simple Storage Service (Amazon S3) speichert, der mit einer Benachrichtigung konfiguriert ist, die die Funktion erneut aufruft. Um die Ausführung der Funktion zu stoppen, reduzieren Sie die verfügbare Gleichzeitigkeit auf Null, wodurch alle zukünftigen Aufrufe gedrosselt werden. Identifizieren Sie dann den Codepfad oder Konfigurationsfehler, der den rekursiven Aufruf verursacht hat. Lambda erkennt und stoppt automatisch rekursive Schleifen für einige AWS Dienste und. SDKs Weitere Informationen finden Sie unter Verwenden Sie die rekursive Lambda-Schleifenerkennung, um Endlosschleifen zu verhindern.
Lambda: Alias-Routing mit bereitgestellter Parallelität
Problem: Bereitgestellte Parallelitäts-Überlauf-Aufrufe während des Alias-Routings.
Lambda verwendet ein einfaches probabilistisches Modell, um den Datenverkehr zwischen den beiden Funktionsversionen zu verteilen. Bei niedrigem Datenverkehr sehen Sie möglicherweise eine hohe Abweichung zwischen dem konfigurierten und dem tatsächlichen Prozentsatz des Datenverkehrs für jede Version. Wenn Ihre Funktion bereitgestellte Parallelität verwendet, können Sie Überlaufaufrufe durch Konfigurieren einer höheren Anzahl von bereitgestellten Parallelitätsinstances während des aktiven Alias-Routings vermeiden.
Lambda: Kaltstarts mit bereitgestellter Parallelität
Problem: Sie erleben Kaltstarts nach dem Aktivieren der bereitgestellten Parallelität.
Wenn die Anzahl der gleichzeitigen Ausführungen einer Funktion kleiner oder gleich der konfigurierten Ebene der bereitgestellten Parallelität ist, sollte es keine Kaltstarts geben. Um Ihnen zu helfen zu bestätigen, ob die bereitgestellte Parallelität normal funktioniert, gehen Sie wie folgt vor:
-
Überprüfen Sie, ob die bereitgestellte Parallelität auf der Funktionsversion oder dem Alias aktiviert ist.
Anmerkung
Die bereitgestellte Gleichzeitigkeit kann in der unveröffentlichten Version der Funktion nicht konfiguriert werden.
-
Stellen Sie sicher, dass Ihre Auslöser die richtige Funktionsversion oder den richtigen Alias aufrufen. Wenn Sie zum Beispiel Amazon API Gateway verwenden, überprüfen Sie, dass Amazon API die Funktionsversion oder den Alias mit bereitgestellter Parallelität aufruft, nicht $LATEST. Um zu überprüfen, ob die bereitgestellte Parallelität verwendet wird, können Sie die ProvisionedConcurrencyInvocations CloudWatch Amazon-Metrik überprüfen. Ein Wert ungleich Null gibt an, dass die Funktion Aufrufe in initialisierten Ausführungsumgebungen verarbeitet.
-
Stellen Sie anhand der Metrik fest, ob Ihre Funktionsparallelität die konfigurierte Stufe der bereitgestellten Parallelität überschreitet. ProvisionedConcurrencySpilloverInvocations CloudWatch Ein Wert ungleich Null gibt an, dass die gesamte bereitgestellte Parallelität verwendet wird und einige Aufrufe mit einem Kaltstart stattgefunden haben.
-
Überprüfen Sie Ihre Aufrufhäufigkeit (Anfragen pro Sekunde) Funktionen mit bereitgestellter Parallelität haben eine maximale Rate von 10 Anfragen pro Sekunde pro bereitgestellte Parallelität. Beispielsweise kann eine Funktion, die mit 100 bereitgestellter Parallelität konfiguriert ist, 1.000 Anfragen pro Sekunde bearbeiten. Wenn die Aufrufrate 1.000 Anfragen pro Sekunde übersteigt, kann es zu Kaltstarts kommen.
Lambda: Kaltstarts mit neuen Versionen
Problem: Sie erleben Kaltstarts, wenn Sie neue Versionen Ihrer Funktion bereitstellen.
Wenn Sie einen Funktionsalias aktualisieren, verschiebt Lambda die bereitgestellte Parallelität basierend auf den für den Alias konfigurierten Gewichtungen automatisch auf die neue Version.
Fehler: KMSDisabled Ausnahme: Lambda konnte die Umgebungsvariablen nicht entschlüsseln, da der verwendete KMS-Schlüssel deaktiviert ist. Bitte überprüfen Sie die KMS-Schlüsseleinstellungen der Funktion.
Dieser Fehler kann auftreten, wenn Ihr AWS Key Management Service (AWS KMS) -Schlüssel deaktiviert ist oder wenn die Genehmigung, die Lambda die Verwendung des Schlüssels ermöglicht, widerrufen wurde. Wenn die Gewährung fehlt, konfigurieren Sie die Funktion so, dass sie einen anderen Schlüssel verwendet. Weisen Sie dann den benutzerdefinierten Schlüssel neu zu, um die Erteilung neu zu erstellen.
EFS: Die Funktion konnte das EFS-Dateisystem nicht mounten
Fehler EFSMountFailureException: Die Funktion konnte das EFS-Dateisystem mit dem Access Point arn:aws:elasticfilesystem:us-east- 2:123456789012:access-point/fsap-015cxmplb72b405fd nicht mounten.
Die Mounting-Anforderung der Funktion an das Dateisystem wurde abgelehnt. Überprüfen Sie die Berechtigungen der Funktion und bestätigen Sie, dass das Dateisystem und der Zugriffspunkt vorhanden und einsatzbereit sind.
EFS: Die Funktion konnte keine Verbindung zum EFS-Dateisystem herstellen
Fehler EFSMountConnectivityException: Die Funktion konnte keine Verbindung zum Amazon EFS-Dateisystem mit dem Access Point arn:aws:elasticfilesystem:us-east - 2:123456789012:access-point/fsap-015cxmplb72b405fd herstellen. Überprüfen Sie die Netzwerkkonfiguration und versuchen Sie es erneut.
Die Funktion konnte keine Verbindung zum Dateisystem der Funktion mit dem NFS-Protokoll (TCP-Port 2049) herstellen. Überprüfen Sie die Sicherheitsgruppe und die Routingkonfiguration für die Subnetze der VPC.
Wenn Sie diese Fehler nach der Aktualisierung der VPC-Konfigurationseinstellungen Ihrer Funktion erhalten, versuchen Sie, das Dateisystem auszuhängen und erneut auszuhängen.
EFS: Die Funktion konnte das EFS-Dateisystem aufgrund eines Timeouts nicht mounten
Fehler EFSMountTimeoutException: Die Funktion konnte das EFS-Dateisystem mit dem Access Point {arn:aws:elasticfilesystem:us-east- 2:123456789012:access-point/fsap-015cxmplb72b405fd} aufgrund eines Mount-Timeouts nicht mounten.
Die Funktion konnte eine Verbindung mit dem Dateisystem der Funktion herstellen, aber bei der Mounting-Operation trat eine Zeitüberschreitung auf. Versuchen Sie es nach kurzer Zeit erneut und erwägen Sie, die Nebenläufigkeit der Funktion zu begrenzen, um die Belastung des Dateisystems zu reduzieren.
Lambda: Lambda hat einen IO-Prozess erkannt, der zu lange dauerte
EFSIOException: Diese Funktionsinstanz wurde gestoppt, weil Lambda einen IO-Prozess erkannt hat, der zu lange dauerte.
Bei einem vorherigen Aufruf trat eine Zeitüberschreitung auf und Lambda konnte den Funktions-Handler nicht beenden. Dieses Problem kann auftreten, wenn ein angehängtes Dateisystem keine Burst-Credits hat und der Basisdurchsatz nicht ausreicht. Um den Durchsatz zu erhöhen, können Sie die Größe des Dateisystems erhöhen oder den bereitgestellten Durchsatz verwenden.