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 AWS CloudFormation Mit Ebenen verwenden. Eine Anleitung zum Erstellen einer Ebene mithilfe von AWS Serverless Application Model (AWS SAM) finden Sie unter AWS SAM Mit Ebenen verwenden.
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. 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 Create (Erstellen) aus.
Alternativ können Sie auch die PublishLayerVersionAPI verwenden, um eine Ebene zu erstellen. Sie können beispielsweise den Befehl publish-layer-version
AWS Command Line Interface (CLI) mit einem angegebenen Namen, einer Beschreibung und einem ZIP-Dateiarchiv verwenden. Die Parameter für Lizenzinformationen, kompatible Laufzeiten und kompatible Architektur sind optional.
aws lambda publish-layer-version --layer-name my-layer \ --description "My layer" \ --license-info "MIT" \ --zip-file fileb://layer.zip \ --compatible-runtimes python3.10 python3.11 \ --compatible-architectures "arm64" "x86_64"
Die Ausgabe sollte folgendermaßen oder ähnlich aussehen:
{ "Content": { "Location": "https://awslambda-us-east-2-layers.s3.us-east-2.amazonaws.com/snapshots/123456789012/my-layer-4aaa2fbb-ff77-4b0a-ad92-5b78a716a96a?versionId=27iWyA73cCAYqyH...", "CodeSha256": "tv9jJO+rPbXUUXuRKi7CwHzKtLDkDRJLB3cC3Z/ouXo=", "CodeSize": 169 }, "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer", "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1", "Description": "My layer", "CreatedDate": "2023-11-14T23:03:52.894+0000", "Version": 1, "CompatibleArchitectures": [ "arm64", "x86_64" ], "LicenseInfo": "MIT", "CompatibleRuntimes": [ "python3.10", "python3.11" ] }
Mit jedem Aufruf von publish-layer-version
wird eine neue Version der Ebene erstellt.
Löschen einer Ebenen-Version
Verwenden Sie die DeleteLayerVersionAPI, um eine Layer-Version zu löschen. Sie können beispielsweise den CLI-Befehl delete-layer-version
mit Angaben für Ebenenname und Ebenenversion verwenden.
aws lambda delete-layer-version --layer-name my-layer --version-number 1
Wenn Sie eine Ebenenversion löschen, können Sie keine Lambda-Funktionen mehr für deren Verwendung konfigurieren. Funktionen, die diese Version bereits vorhanden, können jedoch weiterhin darauf zugreifen. Außerdem werden Versionsnummern für einen Ebenennamen nie von Lambda wiederverwendet.
Bei der Berechnung von Kontingenten bedeutet das Löschen einer Layer-Version, dass sie nicht mehr als Teil des standardmäßigen 75-GB-Kontingents für die Speicherung von Funktionen und Layern gezählt wird. Bei Funktionen, die eine gelöschte Layer-Version verwenden, wird der Layer-Inhalt jedoch weiterhin auf das Größenkontingent für das Bereitstellungspaket der Funktion angerechnet (d. h. 250 MB für .zip-Dateiarchive).