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.
Verwaltung der Abhängigkeiten von Lambda Event Function mit Ebenen
Eine Lambda-Ebene ist ein ZIP-Dateiarchiv mit ergänzendem Code oder ergänzenden Daten. Ebenen enthalten üblicherweise Bibliotheksabhängigkeiten, eine benutzerdefinierte Laufzeit oder Konfigurationsdateien.
Die Verwendung von Ebenen ermöglicht Folgendes:
-
Verringern der Größe Ihrer Bereitstellungspakete: Anstatt all Ihre Event-Funktions-Abhängigkeiten zusammen mit Ihrem Event-Function-Code in Ihr Bereitstellungspaket aufzunehmen, fügen Sie sie in eine Ebene ein. So bleiben Bereitstellungspakete klein und übersichtlich.
-
Trennen von grundlegender Funktionslogik und Abhängigkeiten: Mithilfe von Ebenen können Sie Ihre Event-Funktions-Abhängigkeiten unabhängig von Ihrem Event-Funktionscode aktualisieren und umgekehrt. Dies fördert die Trennung der einzelnen Bereiche und hilft Ihnen, sich auf Ihre Event-Function-Logik zu konzentrieren.
-
Verwenden von Abhängigkeiten für mehrere Funktionen: Nachdem Sie eine Ebene erstellt haben, können Sie sie auf eine beliebige Anzahl von Event-Funktionen in Ihrem Konto anwenden. Ohne Ebenen müssen die gleichen Abhängigkeiten in jedes einzelne Bereitstellungspaket eingefügt werden.
-
Verwenden des Code-Editors der Lambda-Konsole: Der Code-Editor ist ein nützliches Tool, um kleinere Code-Updates für Event-Funktionen schnell zu testen. Sie können den Editor jedoch nicht verwenden, wenn Ihr Bereitstellungspaket zu groß ist. Die Verwendung von Ebenen verringert die Paketgröße und kann die Nutzung des Code-Editors ermöglichen.
-
Um eine eingebettete SDK-Version zu sperren. Die eingebetteten SDKs können sich ohne vorherige Ankündigung ändern, wenn neue Dienste und Funktionen AWS veröffentlicht werden. Sie können eine Version des SDK sperren, indem Sie eine Lambda-Ebene mit der jeweils benötigten Version erstellen. Die Event-Funktion verwendet dann immer die Version in der Ebene, auch wenn sich die im Service eingebettete Version ändert.
Wenn Sie mit Lambda Event Functions in Go oder Rust arbeiten, empfehlen wir, keine Ebenen zu verwenden. Für Go- und Rust-Ereignisfunktionen stellen Sie Ihren Event-Function-Code als ausführbare Datei bereit, die Ihren kompilierten Event-Funktionscode zusammen mit all seinen Abhängigkeiten enthält. Wenn Sie Ihre Abhängigkeiten in einer Ebene platzieren, muss Ihre Event-Funktion während der Initialisierungsphase zusätzliche Assemblys manuell laden, was die Kaltstartzeiten verlängern kann. Um eine optimale Leistung für Go und Rust Event Functions zu erzielen, sollten Sie Ihre Abhängigkeiten zusammen mit Ihrem Bereitstellungspaket angeben.
Das folgende Diagramm veranschaulicht die grundlegenden architektonischen Unterschiede zwischen zwei Event Functions, die Abhängigkeiten gemeinsam haben. Bei einer Variante werden Lambda-Ebenen verwendet, bei der anderen nicht.
Wenn Sie einer Event-Funktion eine Ebene hinzufügen, extrahiert Lambda den Layer-Inhalt in das /opt Verzeichnis in der Ausführungsumgebung Ihrer Event-Funktion. Alle nativ unterstützten Lambda-Laufzeiten enthalten Pfade zu spezifischen Verzeichnissen innerhalb des Verzeichnisses /opt. Dadurch erhält Ihre Event-Funktion Zugriff auf Ihre Layer-Inhalte. Weitere Informationen zu diesen spezifischen Pfaden und zum richtigen Verpacken Ihrer Ebenen finden Sie unter Verpacken Ihres Ebeneninhalts.
Sie können bis zu fünf Ebenen pro Event-Funktion hinzufügen. Außerdem können Sie Ebenen nur mit Lambda Event Functions verwenden, die als ZIP-Dateiarchiv bereitgestellt werden. Für Event Functions, die als Container-Image definiert sind, packen Sie Ihre bevorzugte Laufzeit und alle Codeabhängigkeiten, wenn Sie das Container-Image erstellen. Weitere Informationen finden Sie im AWS Compute-Blog unter Arbeiten mit Lambda-Layern und Erweiterungen in Container-Images
Themen
Verwenden von Ebenen
Zum Erstellen einer Ebene müssen Sie Ihre Abhängigkeiten in einer ZIP-Datei verpacken – ähnlich wie beim Erstellen eines normalen Bereitstellungspakets. Genauer gesagt umfasst der allgemeine Prozess der Erstellung und Verwendung von Ebenen die drei folgenden Schritte:
-
Verpacken Sie zuerst Ihren Ebeneninhalt. Erstellen Sie also ein ZIP-Dateiarchiv. Weitere Informationen finden Sie unter Verpacken Ihres Ebeneninhalts.
-
Erstellen Sie als Nächstes die Ebene in Lambda. Weitere Informationen finden Sie unter Erstellen und Löschen von Ebenen in Lambda.
-
Fügen Sie die Ebene zu Ihren Event-Funktion (en) hinzu. Weitere Informationen finden Sie unter Hinzufügen von Ebenen zu Event-Funktionen.
Ebenen und Ebenenversionen
Eine Ebenenversion ist eine unveränderliche Momentaufnahme einer spezifischen Version einer Ebene. Wenn Sie eine neue Ebene erstellen, erstellt Lambda eine neue Ebenenversion mit der Versionsnummer 1. Bei jeder Veröffentlichung einer Aktualisierung für die Ebene erhöht Lambda die Versionsnummer und erstellt eine neue Ebenenversion.
Jede Ebenenversion wird durch einen eindeutigen Amazon-Ressourcennamen (ARN) identifiziert. Wenn Sie der Event-Funktion eine Ebene hinzufügen, müssen Sie genau die Layer-Version angeben, die Sie verwenden möchten (z. B.arn:aws:lambda:us-east-1:123456789012:layer:my-layer:).1