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.
Ausführen von Code mit Lambda
Wenn Sie eine Lambda-Funktion schreiben, erstellen Sie Code, der in einer eindeutigen Serverless-Umgebung ausgeführt wird. Um zu verstehen, wie Lambda Ihren Code tatsächlich ausführt, müssen Sie zwei wichtige Aspekte kennen: das Programmiermodell, das definiert, wie Ihr Code mit Lambda interagiert, und den Lebenszyklus der Ausführungsumgebung, der bestimmt, wie Lambda die Laufzeitumgebung Ihres Codes verwaltet.
Das Lambda-Programmiermodell
Das Programmiermodell dient als allgemeines Regelwerk dafür, wie Lambda mit Ihrem Code arbeitet, unabhängig davon, ob Sie in Python, Java oder einer anderen unterstützten Sprache schreiben. Das Programmiermodell umfasst Ihre Laufzeit und Ihren Handler.
Für Standardfunktionen:
-
Lambda empfängt ein Ereignis.
-
Lambda verwendet die Laufzeit, um das Ereignis in einem Format vorzubereiten, das Ihr Code verwenden kann.
-
Die Laufzeit sendet das formatierte Ereignis an Ihren Handler.
-
Ihr Handler verarbeitet das Ereignis mit dem Code, den Sie geschrieben haben.
Für langlebige Funktionen:
-
Lambda empfängt ein Ereignis
-
Die Runtime bereitet sowohl das Ereignis als auch DurableContext
-
Ihr Handler kann:
Prozessschritte mit automatischem Checkpointing
Unterbrechen Sie die Ausführung, ohne Ressourcen zu verbrauchen
Fahren Sie mit dem letzten erfolgreichen Checkpoint fort
Behalten Sie den Status zwischen den Schritten bei
Wesentlich für dieses Modell ist der Handler, an den Lambda Ereignisse sendet, die von Ihrem Code verarbeitet werden sollen. Betrachten Sie ihn als Einstiegspunkt für Ihren Code. Wenn Lambda ein Ereignis empfängt, leitet es dieses Ereignis und einige Kontextinformationen an Ihren Handler weiter. Der Handler führt dann Ihren Code aus, um diese Ereignisse zu verarbeiten – beispielsweise kann er eine Datei lesen, wenn sie in Amazon S3 hochgeladen wird, ein Bild analysieren oder eine Datenbank aktualisieren. Sobald Ihr Code die Verarbeitung eines Ereignisses abgeschlossen hat, ist der Handler bereit, das nächste Ereignis zu verarbeiten.
Das Lambda-Ausführungsmodell
Während das Programmiermodell definiert, wie Lambda mit Ihrem Code interagiert, ist die Ausführungsumgebung der Ort, an dem Lambda Ihre Funktion tatsächlich ausführt — es handelt sich um einen sicheren, isolierten Rechenraum, der speziell für Ihre Funktion erstellt wurde.
Jede Umgebung folgt einem Lebenszyklus, der zwischen Standardfunktionen und dauerhaften Funktionen variiert:
Standardfunktionen (bis zu 15 Minuten):
-
Initialisierung: Einrichtung der Umgebung und Laden von Code
-
Aufruf: Einmalige Ausführung des Funktionscodes
-
Herunterfahren: Bereinigung der Umgebung
Dauerhafte Funktionen (bis zu 1 Jahr):
-
Initialisierung: Einrichtung der Umgebung und des dauerhaften Zustands
-
Aufruf: Mehrere Schritte mit automatischem Checkpointing
-
Wartestatus: Unterbrechen Sie die Ausführung ohne Ressourcenverbrauch
-
Fortfahren: Vom letzten Checkpoint aus neu starten
-
Herunterfahren: Bereinigung des dauerhaften Zustands
Diese Umgebung übernimmt wichtige Aspekte der Ausführung Ihrer Funktion. Sie stellt Ihrer Funktion Speicher und ein /tmp-Verzeichnis für die temporäre Speicherung zur Verfügung. Für langlebige Funktionen verwaltet es außerdem:
Automatische Beibehaltung des Zustands zwischen den Schritten
Checkpoint-Speicherung und Wiederherstellung
Warten Sie die staatliche Koordination
Verfolgung des Fortschritts bei lang andauernden Ausführungen