Erstellen und Löschen von Ebenen in Lambda - 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.

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)
  1. Öffnen Sie die Seite Ebenen der Lambda-Konsole.

  2. Wählen Sie Create Layer (Ebene erstellen) aus.

  3. Geben Sie unter Ebenen-Konfiguration unter Name einen Namen für Ihre Ebene ein.

  4. (Optional) Geben Sie im Feld Description (Beschreibung) eine Beschreibung für Ihre Ebene ein.

  5. 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.

  6. (Optional) Für Kompatible Architekturen, wählen Sie einen Wert oder beide Werte aus. Weitere Informationen finden Sie unter Konfiguration der Befehlssatzarchitektur für eine Lambda-Funktion.

  7. (Optional) Wählen Sie unter Kompatible Laufzeiten die Laufzeiten aus, mit denen Ihre Ebene kompatibel ist.

  8. (Optional) Für License (Lizenz) geben Sie alle erforderlichen Lizenzinformationen ein.

  9. Wählen Sie Erstellen.

Alternativ können Sie auch die PublishLayerVersion-API verwenden, um eine Ebene zu erstellen. Sie können beispielsweise den AWS Command Line Interface (CLI)-Befehl publish-layer-version mit Angaben für Name, Beschreibung und 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

Um eine Ebenenversion zu löschen, verwenden Sie die DeleteLayerVersion-API. 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.