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.
Erstellen und Löschen von Ebenen in Lambda
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.
In diesem Abschnitt erfahren Sie, wie Sie Ebenen in Lambda erstellen und löschen. Weitere konzeptionelle Informationen zu Ebenen sowie dazu, warum Sie ggf. welche verwenden sollten, finden Sie unter Verwaltung von Lambda-Abhängigkeiten mit Ebenen.
Nach dem Verpacken Ihres Ebeneninhalts muss die Ebene in Lambda erstellt werden. In diesem Abschnitt wird nur gezeigt, wie Ebenen mithilfe der Lambda-Konsole oder mithilfe der Lambda-API erstellt und gelöscht werden. Eine Anleitung zum Erstellen einer Ebene mithilfe von AWS CloudFormation finden Sie unter Verwendung von AWS CloudFormation mit Ebenen. Eine Anleitung zum Erstellen einer Ebene mithilfe von AWS Serverless Application Model (AWS SAM) finden Sie unter Verwendung von AWS SAM mit Ebenen.
Erstellen einer Ebene
Zum Erstellen einer Ebene können Sie das ZIP-Archiv entweder über Ihren lokalen Computer oder über Amazon Simple Storage Service (Amazon S3) hochladen. Beim Hochladen von Amazon S3 können Sie wählen, ob Lambda den Code in den Lambda-managed Speicher kopiert oder direkt aus Ihrem S3-Bucket darauf verweist. Weitere Informationen finden Sie unter Self-managed S3-Codespeicher.
Lambda extrahiert den Ebenen-Inhalt in das /opt-Verzeichnis, wenn die Ausführungsumgebung für die Funktion eingerichtet wird.
Ebenen können eine oder mehrere Ebenenversionen haben. Wenn Sie eine Ebene erstellen, legt Lambda die Ebenen-Version auf Version 1 fest. Die Berechtigungen für eine bereits vorhandene Ebenenversion können jederzeit geändert werden. Um den Code zu aktualisieren oder andere Konfigurationsänderungen vorzunehmen, müssen Sie allerdings eine neue Version der Ebene erstellen.
So erstellen Sie eine Ebene (Konsole)
-
Öffnen Sie die Seite Ebenen
der Lambda-Konsole. -
Wählen Sie Create Layer (Ebene erstellen) aus.
-
Geben Sie unter Ebenen-Konfiguration unter Name einen Namen für Ihre Ebene ein.
-
(Optional) Geben Sie im Feld Description (Beschreibung) eine Beschreibung für Ihre Ebene ein.
-
Um Ihren Ebenen-Code upzuloaden, führen Sie einen der folgenden Schritte aus:
-
Um eine ZIP-Datei von Ihrem Computer upzuloaden, wählen Sie Eine .zip-Datei hochladen. Wählen Sie Upload, um Ihre lokale ZIP-Datei auszuwählen.
-
Um eine Datei aus Amazon S3 upzuloaden, wählen Sie Hochladen einer Datei aus Amazon S3 aus. Geben Sie dann für Amazon-S3-Link-URL einen Link zu der Datei ein.
-
-
(Optional) Für Kompatible Architekturen, wählen Sie einen Wert oder beide Werte aus. Weitere Informationen finden Sie unter Auswahl und Konfiguration einer Befehlssatzarchitektur für Ihre Lambda-Funktion.
-
(Optional) Wählen Sie unter Kompatible Laufzeiten die Laufzeiten aus, mit denen Ihre Ebene kompatibel ist.
-
(Optional) Für License (Lizenz) geben Sie alle erforderlichen Lizenzinformationen ein.
-
Wählen Sie Erstellen aus.
Alternativ können Sie den Befehl publish-layer-versionS3ObjectStorageMode=REFERENCE an, ob Sie den selbstverwalteten S3-Codespeicher verwenden möchten, oder lassen Sie ihn weg (StandardeinstellungCOPY), um Speicher zu verwenden. Lambda-managed Beispiel:
aws lambda publish-layer-version --layer-namemy-layer--zip-file fileb://layer.zip --compatible-runtimespython3.14
Bei jeder Ausführung von publish-layer-version erstellt Lambda eine neue Version der Ebene.
Löschen einer Ebenen-Version
Verwenden Sie den API-Vorgang, um eine Layer-Version zu löschen. DeleteLayerVersion Führen Sie beispielsweise den AWS CLI Befehl delete-layer-version mit dem angegebenen Layer-Namen
aws lambda delete-layer-version --layer-name my-layer --version-number 1
Wenn Sie eine Layer-Version löschen, können Sie keine neuen Funktionen mehr konfigurieren, um sie zu verwenden. Jede Funktion, die bereits auf die gelöschte Layer-Version verweist, wird jedoch weiterhin mit diesem Layer-Inhalt ausgeführt. Lambda verwendet niemals Versionsnummern für einen Layer-Namen wieder.
Auswirkungen des Löschens von Ebenen auf das Speicherkontingent
Wie sich das Löschen einer Layer-Version auf das Speicherkontingent auswirkt, hängt vom Speichermodus ab, der von der Ebene verwendet wird, und von den Funktionen, die darauf verweisen.
- Die Ebene verwendet Lambda-managed Speicher (COPY)
-
Wenn Sie eine Layer-Version löschen, die Lambda-managed Speicherplatz verwendet, wird der Layer-Code aus dem Lambda-managed Speicherkontingent Ihres Kontos entfernt. Jede Funktion, die immer noch auf die gelöschte Layer-Version verweist, hat jedoch weiterhin Zugriff auf den Layer-Inhalt. Der Layer-Inhalt wird auf das Größenkontingent für das Bereitstellungspaket der Funktion (250 MB entpackt) angerechnet, aber nicht mehr auf das Speicherkontingent auf Lambda-managed Kontoebene.
- Layer verwendet selbstverwalteten S3-Speicher (REFERENZ)
-
Ebenen, die selbstverwalteten S3-Codespeicher verwenden, verbrauchen keinen Lambda-managed Speicherplatz, sodass das Löschen dieser Ebenen keine Auswirkungen auf Ihr Lambda-managed Speicherkontingent hat. Funktionen, die auf eine gelöschte selbstverwaltete Layer-Version verweisen, werden weiterhin normal ausgeführt. Wenn Sie jedoch auch das Quellobjekt aus Ihrem S3-Bucket löschen oder Lambda den Zugriff darauf entziehen, können Sie die Funktionskonfiguration mit dieser Ebene nicht mehr aktualisieren.
Anmerkung
Durch das Löschen einer Layer-Version werden niemals Funktionen deaktiviert, die darauf verweisen. Die Funktionen bleiben erhalten, Active unabhängig davon, ob die Ebene den selbstverwalteten S3-Speicher verwendet Lambda-managed hat. Der Inactive Status gilt nur, wenn Lambda den Zugriff auf den eigenen Quellcode einer Funktion verliert, der in einem selbstverwalteten S3-Bucket gespeichert ist.