Lambda-Funktionszustände - AWS Lambda

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.

Lambda-Funktionszustände

Lambda enthält in der Funktionskonfiguration für alle Funktionen ein Statusfeld, das anzeigt, wann Ihre Funktion zum Aufruf bereit ist. State gibt Auskunft über den aktuellen Status der Funktion, einschließlich der Frage, ob Sie die Funktion erfolgreich aufrufen können. Funktionszustände ändern nicht das Verhalten von Funktionsaufrufen oder wie Ihre Funktion den Code ausführt. Zu den Funktionszustände gehören:

  • Pending – Nachdem Lambda die Funktion erstellt hat, setzt es den Status auf „Ausstehend“. Im Status „Ausstehend“ versucht Lambda, Ressourcen für die Funktion zu erstellen oder zu konfigurieren, beispielsweise VPC- oder EFS-Ressourcen. Lambda ruft während des ausstehenden Status keine Funktion auf. Alle Aufrufe oder andere API-Aktionen, die mit der Funktion arbeiten, schlagen fehl.

  • Active – Ihre Funktion wechselt in den aktiven Status, nachdem Lambda die Ressourcenkonfiguration und -Bereitstellung abgeschlossen hat. Funktionen können nur erfolgreich aufgerufen werden, wenn sie aktiv sind.

  • Failed – Gibt an, dass bei der Ressourcenkonfiguration oder bei der Bereitstellung ein Fehler aufgetreten ist.

  • Inactive – Eine Funktion wird inaktiv, wenn sie lange genug im Leerlauf war, damit Lambda die externen Ressourcen zurückfordern kann, die für sie konfiguriert wurden. Wenn Sie versuchen, eine Funktion aufzurufen, die inaktiv ist, schlägt der Aufruf fehl und Lambda setzt die Funktion auf den Status „Ausstehend“, bis die Funktionsressourcen neu erstellt werden. Wenn Lambda die Ressourcen nicht neu erstellen kann, kehrt die Funktion in den inaktiven Zustand zurück. Wenn Ihre Funktion im inaktiven Zustand hängen bleibt, finden Sie weitere Informationen zur Fehlerbehebung in den StatusCodeReason Attributen StatusCode und der Funktion. Möglicherweise müssen Sie alle Fehler beheben und Ihre Funktion erneut bereitstellen, um sie im aktiven Zustand wiederherzustellen.

Wenn Sie SDK-basierte Automatisierungs-Workflows verwenden oder die Service-APIs von Lambda direkt aufrufen, überprüfen Sie vor dem Aufruf einer Funktion, ob sie aktiv ist. Sie können dies mit der Lambda-API-Aktion tun GetFunctionoder einen Waiter mit dem AWS SDK for Java 2.0 konfigurieren.

aws lambda get-function --function-name my-function --query 'Configuration.[State, LastUpdateStatus]'

Die Ausgabe sollte folgendermaßen aussehen:

[ "Active", "Successful" ]

Die folgenden Operationen schlagen fehl, während die Funktionserstellung aussteht:

Funktionszustände während der Aktualisierung

Lambda bietet zusätzlichen Kontext für Funktionen, die mit dem LastUpdateStatus-Attribut aktualisiert werden und die folgenden Status haben können:

  • InProgress – Bei einer vorhandenen Funktion wird eine Aktualisierung durchgeführt. Während ein Funktionsupdate ausgeführt wird, gehen Aufrufe zum vorherigen Code und Konfiguration der Funktion.

  • Successful – Das Update ist abgeschlossen. Sobald Lambda das Update beendet hat, bleibt dies bis zu einem weiteren Update festgelegt.

  • Failed – Die Aktualisierung der Funktion ist fehlgeschlagen. Lambda bricht das Update ab und der vorherige Code und die Konfiguration der Funktion bleiben verfügbar.

Das Folgende ist das Ergebnis von get-function-configuration für eine Funktion, die einem Update unterzogen wird.

{ "FunctionName": "my-function", "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function", "Runtime": "nodejs20.x", "VpcConfig": { "SubnetIds": [ "subnet-071f712345678e7c8", "subnet-07fd123456788a036", "subnet-0804f77612345cacf" ], "SecurityGroupIds": [ "sg-085912345678492fb" ], "VpcId": "vpc-08e1234569e011e83" }, "State": "Active", "LastUpdateStatus": "InProgress", ... }

FunctionConfiguration verfügt über zwei weitere Attribute, LastUpdateStatusReason und LastUpdateStatusReasonCode, um Probleme bei der Aktualisierung zu beheben.

Die folgenden Operationen schlagen fehl, während eine asynchrone Aktualisierung ausgeführt wird: