

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 von Lambda-Abhängigkeiten mit Ebenen
<a name="chapter-layers"></a>

Eine Lambda-Ebene ist ein ZIP-Dateiarchiv mit ergänzendem Code oder ergänzenden Daten. Ebenen enthalten üblicherweise Bibliotheksabhängigkeiten, eine [benutzerdefinierte Laufzeit](runtimes-custom.md) oder Konfigurationsdateien. 

Die Verwendung von Ebenen ermöglicht Folgendes:
+ **Verringern der Größe Ihrer Bereitstellungspakete:** Platzieren Sie Ihre Funktionsabhängigkeiten in einer Ebene, anstatt sie zusammen mit Ihrem Funktionscode in Ihr Bereitstellungspaket einzuschließen. So bleiben Bereitstellungspakete klein und übersichtlich.
+ **Trennen von grundlegender Funktionslogik und Abhängigkeiten:** Mit Ebenen können Sie Ihre Funktionsabhängigkeiten unabhängig von Ihrem Funktionscode aktualisieren (und umgekehrt). Dies trägt zur Trennung von Belangen bei und hilft Ihnen dabei, sich auf Ihre Funktionslogik zu konzentrieren.
+ **Verwenden von Abhängigkeiten für mehrere Funktionen:** Erstellte Ebenen können auf eine beliebige Anzahl von Funktionen in Ihrem Konto angewendet werden. 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 praktisches Tool zum schnellen Testen kleinerer Funktionscode-Aktualisierungen. 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.
+ **Zum Sperren einer eingebetteten SDK-Version.**Die eingebetteten SDKs können sich ohne vorherige Ankündigung ändern, wenn AWS neue Services und Features veröffentlicht. Sie können eine Version des SDK sperren, [indem Sie eine Lambda-Ebene](#chapter-layers) mit der jeweils benötigten Version erstellen. Die Funktion verwendet dann immer die Version in der Ebene, auch wenn sich die im Service eingebettete Version ändert.

Wenn Sie mit Lambda-Funktionen in Go oder Rust arbeiten, empfehlen wir, keine Ebenen zu verwenden. Bei Go- und Rust-Funktionen stellen Sie Ihren Funktionscode als ausführbare Datei bereit, die Ihren kompilierten Funktionscode zusammen mit allen Abhängigkeiten enthält. Wenn Sie Ihre Abhängigkeiten in eine Ebene einfügen, muss Ihre Funktion während der Initialisierungsphase manuell weitere Baugruppen laden, was die Kaltstartzeiten erhöhen kann. Für eine optimale Leistung der Go- und Rust-Funktionen sollten Sie Ihre Abhängigkeiten zusammen mit Ihrem Bereitstellungspaket angeben.

Das folgende Diagramm veranschaulicht die allgemeinen architektonischen Unterschiede zwischen zwei Funktionen mit gemeinsamen Abhängigkeiten. Bei einer Variante werden Lambda-Ebenen verwendet, bei der anderen nicht.

![\[\]](http://docs.aws.amazon.com/de_de/lambda/latest/dg/images/lambda-layers-diagram.png)


Wenn Sie einer Funktion eine Ebene hinzufügen, extrahiert Lambda die Inhalte der Ebene in das Verzeichnis `/opt` in der [Ausführungsumgebung](lambda-runtime-environment.md) Ihrer Funktion. Alle nativ unterstützten Lambda-Laufzeiten enthalten Pfade zu spezifischen Verzeichnissen innerhalb des Verzeichnisses `/opt`. Dadurch erhält die Funktion Zugriff auf Ihre Ebeneninhalte. Weitere Informationen zu diesen spezifischen Pfaden und zum richtigen Verpacken Ihrer Ebenen finden Sie unter [Verpacken Ihres Ebeneninhalts](packaging-layers.md).

Sie können pro Funktion bis zu fünf Ebenen einschließen. Ebenen können zudem nur mit Lambda-Funktionen verwendet werden, die [als ZIP-Dateiarchiv bereitgestellt](configuration-function-zip.md) werden. Bei [als Container-Image definierten](images-create.md) Funktionen werden Ihre bevorzugte Laufzeit und alle Codeabhängigkeiten beim Erstellen des Container-Images verpackt. Weitere Informationen finden Sie unter [Arbeiten mit Lambda-Ebenen und Erweiterungen in Container-Images](https://aws.amazon.com/blogs/compute/working-with-lambda-layers-and-extensions-in-container-images/) im AWS-Computing-Blog.

**Topics**
+ [

## Verwenden von Ebenen
](#lambda-layers-overview)
+ [

## Ebenen und Ebenenversionen
](#lambda-layer-versions)
+ [

# Verpacken Ihres Ebeneninhalts
](packaging-layers.md)
+ [

# Erstellen und Löschen von Ebenen in Lambda
](creating-deleting-layers.md)
+ [

# Hinzufügen von Ebenen zu Funktionen
](adding-layers.md)
+ [

# Verwendung von AWS CloudFormation mit Ebenen
](layers-cfn.md)
+ [

# Verwendung von AWS SAM mit Ebenen
](layers-sam.md)

## Verwenden von Ebenen
<a name="lambda-layers-overview"></a>

Zum Erstellen einer Ebene müssen Sie Ihre Abhängigkeiten in einer ZIP-Datei verpacken – ähnlich wie beim [Erstellen eines normalen Bereitstellungspakets](configuration-function-zip.md). 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](packaging-layers.md).
+ **Erstellen Sie als Nächstes die Ebene in Lambda.** Weitere Informationen finden Sie unter [Erstellen und Löschen von Ebenen in Lambda](creating-deleting-layers.md).
+ **Fügen Sie die Ebene Ihren Funktionen hinzu).** Weitere Informationen finden Sie unter [Hinzufügen von Ebenen zu Funktionen](adding-layers.md).

## Ebenen und Ebenenversionen
<a name="lambda-layer-versions"></a>

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. Beim Hinzufügen einer Ebene zur Funktion muss die exakte Ebenenversion angegeben werden, die Sie verwenden möchten (z. B. `arn:aws:lambda:us-east-1:123456789012:layer:my-layer:1`).

# Verpacken Ihres Ebeneninhalts
<a name="packaging-layers"></a>

Eine Lambda-Ebene ist ein ZIP-Dateiarchiv mit ergänzendem Code oder ergänzenden Daten. Ebenen enthalten üblicherweise Bibliotheksabhängigkeiten, eine [benutzerdefinierte Laufzeit](runtimes-custom.md) oder Konfigurationsdateien. 

In diesem Abschnitt erfahren Sie, wie Sie Ihren Ebeneninhalt ordnungsgemäß verpacken. Weitere konzeptionelle Informationen zu Ebenen sowie dazu, warum Sie ggf. welche verwenden sollten, finden Sie unter [Verwaltung von Lambda-Abhängigkeiten mit Ebenen](chapter-layers.md).

Der erste Schritt beim Erstellen einer Ebene besteht darin, den gesamten Ebeneninhalt in einem ZIP-Dateiarchiv zu bündeln. Da Lambda-Funktionen unter [Amazon Linux](https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html) ausgeführt werden, muss Ihr Ebeneninhalt in einer Linux-Umgebung kompiliert und erstellt werden können.

Um sicherzustellen, dass Ihr Ebeneninhalt ordnungsgemäß in einer Linux-Umgebung funktioniert, empfiehlt es sich, den Ebeneninhalt mit einem Tool wie [Docker](https://docs.docker.com/get-docker) zu erstellen.

**Topics**
+ [

## Ebenenpfade für jede Lambda-Laufzeit
](#packaging-layers-paths)

## Ebenenpfade für jede Lambda-Laufzeit
<a name="packaging-layers-paths"></a>

Wenn Sie einer Funktion eine Ebene hinzufügen, lädt Lambda den Ebeneninhalt in das Verzeichnis `/opt` der Ausführungsumgebung. Für jede Lambda-Laufzeit enthält die Variable `PATH` bereits spezifische Ordnerpfade innerhalb des Verzeichnisses `/opt`. Um sicherzustellen, dass Lambda den Inhalt Ihrer Ebene aufnimmt, müssen die Abhängigkeiten Ihrer ZIP-Datei in einem der folgenden Ordnerpfade enthalten sein:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/lambda/latest/dg/packaging-layers.html)

Die folgenden Beispiele zeigen, wie Sie die Ordner im ZIP-Archiv Ihrer Ebene strukturieren können.

------
#### [ Node.js ]

**Example Dateistruktur für das AWS X-Ray-SDK für Node.js**  

```
xray-sdk.zip
└ nodejs/node_modules/aws-xray-sdk
```

------
#### [ Python ]

**Example**  

```
python/              # Required top-level directory
└── requests/
└── boto3/
└── numpy/
└── (dependencies of the other packages)
```

------
#### [ Ruby ]

**Example Dateistruktur für das JSON-Gem**  

```
json.zip
└ ruby/gems/3.4.0/
               | build_info
               | cache
               | doc
               | extensions
               | gems
               | └ json-2.1.0
               └ specifications
                 └ json-2.1.0.gemspec
```

------
#### [ Java ]

**Example Dateistruktur für Jackson-JAR-Datei**  

```
layer_content.zip
└ java
    └ lib
        └ jackson-core-2.17.0.jar
        └ <other potential dependencies>
        └ ...
```

------
#### [ All ]

**Example Dateistruktur für jq-Bibliothek**  

```
jq.zip
└ bin/jq
```

------

Eine sprachspezifische Anleitung zum Verpacken, Erstellen und Hinzufügen einer Ebene finden Sie auf den folgenden Seiten:
+ **Node.js** – [Arbeiten mit Ebenen für Node.js Lambda-Funktionen](nodejs-layers.md)
+ **Python** – [Arbeiten mit Ebenen für Python Lambda-Funktionen](python-layers.md)
+ **Ruby** – [Arbeiten mit Ebenen für Ruby Lambda-Funktionen](ruby-layers.md)
+ **Java** – [Arbeiten mit Ebenen für Java Lambda-Funktionen](java-layers.md)

Wir empfehlen, **keine** Ebenen zur Verwaltung von Abhängigkeiten für in Go und Rust geschriebene Lambda-Funktionen zu verwenden. Der Grund dafür ist, dass in diesen Sprachen geschriebene Lambda-Funktionen zu einer einzigen ausführbaren Datei kompiliert werden, die Sie Lambda bei der Bereitstellung Ihrer Funktion zur Verfügung stellen. Diese ausführbare Datei enthält Ihren kompilierten Funktionscode zusammen mit all seinen Abhängigkeiten. Die Verwendung von Ebenen verkompliziert nicht nur diesen Vorgang, sondern führt auch zu längeren Kaltstartzeiten, da Ihre Funktionen während der Init-Phase zusätzliche Assemblys manuell in den Speicher laden müssen.

Um externe Abhängigkeiten mit Lambda-Funktionen in Go und Rust zu verwenden, nehmen Sie sie direkt in Ihr Bereitstellungspaket auf.

# Erstellen und Löschen von Ebenen in Lambda
<a name="creating-deleting-layers"></a>

Eine Lambda-Ebene ist ein ZIP-Dateiarchiv mit ergänzendem Code oder ergänzenden Daten. Ebenen enthalten üblicherweise Bibliotheksabhängigkeiten, eine [benutzerdefinierte Laufzeit](runtimes-custom.md) 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](chapter-layers.md).

Nach dem [Verpacken Ihres Ebeneninhalts](packaging-layers.md) 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](layers-cfn.md). Eine Anleitung zum Erstellen einer Ebene mithilfe von AWS Serverless Application Model  (AWS SAM) finden Sie unter [Verwendung von AWS SAM mit Ebenen](layers-sam.md).

**Topics**
+ [

## Erstellen einer Ebene
](#layers-create)
+ [

## Löschen einer Ebenen-Version
](#layers-delete)

## Erstellen einer Ebene
<a name="layers-create"></a>

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](chapter-layers.md#lambda-layer-versions) 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](https://console.aws.amazon.com/lambda/home#/layers) der Lambda-Konsole.

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

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

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

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

1. (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](foundation-arch.md).

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

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

1. Wählen Sie **Erstellen** aus.

Alternativ können Sie den Befehl [publish-layer-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/publish-layer-version.html) AWS Command Line Interface (CLI) ausführen. Beispiel:

```
aws lambda publish-layer-version --layer-name my-layer --zip-file fileb://layer.zip --compatible-runtimes python3.14
```

Bei jeder Ausführung von `publish-layer-version` erstellt Lambda eine neue [Version der Ebene](chapter-layers.md#lambda-layer-versions).

## Löschen einer Ebenen-Version
<a name="layers-delete"></a>

Verwenden Sie den [DeleteLayerVersion](https://docs.aws.amazon.com/lambda/latest/api/API_DeleteLayerVersion.html)API-Vorgang, um eine Layer-Version zu löschen. Führen Sie den [delete-layer-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/delete-layer-version.html) AWS CLI Befehl beispielsweise mit dem angegebenen Layer-Namen und der angegebenen Layer-Version aus.

```
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](gettingstarted-limits.md) 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).

# Hinzufügen von Ebenen zu Funktionen
<a name="adding-layers"></a>

Eine Lambda-Ebene ist ein ZIP-Dateiarchiv mit ergänzendem Code oder ergänzenden Daten. Ebenen enthalten üblicherweise Bibliotheksabhängigkeiten, eine [benutzerdefinierte Laufzeit](runtimes-custom.md) oder Konfigurationsdateien. 

In diesem Abschnitt erfahren Sie, wie Sie einer Lambda-Funktion eine Ebene hinzufügen. Weitere konzeptionelle Informationen zu Ebenen sowie dazu, warum Sie ggf. welche verwenden sollten, finden Sie unter [Verwaltung von Lambda-Abhängigkeiten mit Ebenen](chapter-layers.md).

Bevor Sie eine Lambda-Funktion für die Verwendung einer Ebene konfigurieren können, ist Folgendes erforderlich:
+ [Verpacken Ihres Ebeneninhalts](packaging-layers.md)
+ [Erstellen einer Ebene in Lambda](creating-deleting-layers.md)
+ Stellen Sie sicher, dass Sie die Berechtigung haben, die [GetLayerVersion](https://docs.aws.amazon.com/lambda/latest/api/API_GetLayerVersion.html)API in der Layer-Version aufzurufen. Für Funktionen in Ihrem AWS-Konto müssen Sie diese Berechtigung in Ihrer [Benutzerrichtlinie](access-control-identity-based.md) haben. Um eine Ebene in einem anderen Konto zu verwenden, muss der Eigentümer des anderen Kontos Ihrem Konto die Berechtigung in einer [ressourcenbasierten Richtlinie](access-control-resource-based.md) erteilen. Beispiele finden Sie unter [Gewähren des Lambda-Ebenenzugriffs für andere Konten](permissions-layer-cross-account.md).

Sie können bis zu fünf Ebenen zu einer Lambda-Funktion hinzufügen. Die entpackte Gesamtgröße der Funktion und aller Ebenen darf das Größenlimit des entpackten Bereitstellungspakets von 250 MB nicht überschreiten. Weitere Informationen finden Sie unter [Lambda-Kontingente](gettingstarted-limits.md).

Ihre Funktionen können eine beliebige Ebenenversion, die Sie bereits hinzugefügt haben, weiterhin nutzen, auch wenn diese Ebenenversion gelöscht wurde oder Ihnen die Zugriffsberechtigung für die Ebene entzogen wurde. Sie können jedoch keine neue Funktion erstellen, die eine Version einer gelöschten Ebene verwendet.

**So fügen Sie eine Ebene zu einer Funktion hinzu**

1. Öffnen Sie die Seite [Funktionen](https://console.aws.amazon.com/lambda/home#/functions) der Lambda-Konsole.

1. Wählen Sie die Funktion aus.

1. Blättern Sie nach unten bis zum Abschnitt **Ebenen** und wählen Sie dann **Eine Ebene hinzufügen**.

1. Wählen Sie unter **Ebene auswählen** eine Ebenenquelle aus:

   1. **AWS Ebenen**: Wählen Sie aus der Liste der [AWS-verwalteten Erweiterungen](extensions-api-partners.md#aws-managed-extensions) aus.

   1. **Benutzerdefinierte Ebenen**: Wählen Sie eine Ebene aus, die in Ihrem AWS-Konto erstellt wurde.

   1. **Geben Sie einen ARN an**: Um einen Layer [aus einem anderen AWS-Konto](permissions-layer-cross-account.md), z. B. einer [Drittanbieter-Erweiterung](extensions-api-partners.md), zu verwenden, geben Sie den Amazon-Ressourcennamen (ARN) ein.

1. Wählen Sie **Hinzufügen** aus.

Die Reihenfolge, in der Sie die Ebenen hinzufügen, ist die Reihenfolge, in der Lambda den Ebeneninhalt in der Ausführungsumgebung zusammenführt. Sie können die Reihenfolge für Zusammenführungen der Layers mit der -Konsole ändern.

**So aktualisieren Sie die Zusammenführungsreihenfolge von Ebenen für Ihre Funktion (Konsole)**

1. Öffnen Sie die Seite [Funktionen](https://console.aws.amazon.com/lambda/home#/functions) der Lambda-Konsole.

1. Wählen Sie die zu konfigurierende Funktion aus.

1. Wählen Sie unter **Ebenen** die Option **Bearbeiten**

1. Wählen Sie eine der Ebenen aus.

1. Klicken Sie auf**Früher Merge**oder**Später Zusammenführungen**um die Reihenfolge der Ebenen anzupassen.

1. Wählen Sie **Speichern**.

Ebenen werden versioniert. Der Inhalt jeder Ebenenversion ist unveränderlich. Der Besitzer einer Ebene kann neue Ebenenversionen veröffentlichen, um aktualisierte Inhalte bereitzustellen. Sie können die Konsole verwenden, um die mit Ihren Funktionen verknüpfte Ebenenversion zu aktualisieren.

**So aktualisieren Sie Ebenenversionen für Ihre Funktion (Konsole)**

1. Öffnen Sie die Seite [Ebenen](https://console.aws.amazon.com/lambda/home#/layers) der Lambda-Konsole.

1. Wählen Sie die Ebene aus, für die Sie die Version aktualisieren möchten.

1. Wählen Sie die Registerkarte **Funktionen mit dieser Version** aus.

1. Wählen Sie die Funktionen aus, die Sie ändern möchten, und wählen Sie anschließend **Bearbeiten** aus.

1. Wählen Sie unter **Ebenenversion** die Ebenenversion aus, zu der Sie wechseln möchten.

1. Klicken Sie auf **Funktionen aktualisieren**.

Sie können die Versionen der Funktionsebene nicht AWS kontenübergreifend aktualisieren.

## Suche nach Ebeneninformationen
<a name="finding-layer-information"></a>

Verwenden Sie die [ListLayers](https://docs.aws.amazon.com/lambda/latest/api/API_ListLayers.html)API, um Ebenen in Ihrem Konto zu finden, die mit der Laufzeit Ihrer Funktion kompatibel sind. Sie können beispielsweise den folgenden Befehl [list-layers](https://docs.aws.amazon.com/cli/latest/reference/lambda/list-layers.html) AWS Command Line Interface (CLI) verwenden:

```
aws lambda list-layers --compatible-runtime python3.14
```

Die Ausgabe sollte folgendermaßen oder ähnlich aussehen:

```
{
    "Layers": [
        {
            "LayerName": "my-layer",
            "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer",
            "LatestMatchingVersion": {
                "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2",
                "Version": 2,
                "Description": "My layer",
                "CreatedDate": "2025-04-15T00:37:46.592+0000",
                "CompatibleRuntimes": [
                    "python3.14"
                ]
            }
        }
    ]
}
```

Wenn Sie alle Ebenen in Ihrem Konto auflisten möchten, lassen Sie die Option `--compatible-runtime` weg. Die Antwortdetails enthalten jeweils die neueste Version der einzelnen Ebenen.

Sie können die neueste Version eines Layers auch mithilfe der [ListLayerVersions](https://docs.aws.amazon.com/lambda/latest/api/API_ListLayerVersions.html)API abrufen. Sie können z. B. den folgenden CLI-Befehl vom Typ `list-layer-versions` verwenden:

```
aws lambda list-layer-versions --layer-name my-layer
```

Die Ausgabe sollte folgendermaßen oder ähnlich aussehen:

```
{
    "LayerVersions": [
        {
            "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2",
            "Version": 2,
            "Description": "My layer",
            "CreatedDate": "2023-11-15T00:37:46.592+0000",
            "CompatibleRuntimes": [
                "java11"
            ]
        },
        {
            "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1",
            "Version": 1,
            "Description": "My layer",
            "CreatedDate": "2023-11-15T00:27:46.592+0000",
            "CompatibleRuntimes": [
                "java11"
            ]
        }
    ]
}
```

# Verwendung von AWS CloudFormation mit Ebenen
<a name="layers-cfn"></a>

Sie können CloudFormation verwenden, um eine Ebene zu erstellen und die Ebene mit Ihrer Lambda-Funktion verknüpfen. Die folgende Beispielvorlage erstellt eine Ebene mit dem Namen `my-lambda-layer` und fügt sie mithilfe der Eigenschaft **Layers** an die Lambda-Funktion an.

In diesem Beispiel gibt die Vorlage den Amazon-Ressourcennamen (ARN) einer bestehenden IAM-[Ausführungsrolle](lambda-intro-execution-role.md) an. Sie können mit der CloudFormation-Ressource [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) auch eine neue Ausführungsrolle in der Vorlage erstellen.

Ihre Funktion benötigt keine speziellen Berechtigungen, um Ebenen zu verwenden.

```
---
Description: CloudFormation Template for Lambda Function with Lambda Layer
Resources:
  MyLambdaLayer:
    Type: AWS::Lambda::LayerVersion
    Properties:
      LayerName: my-lambda-layer
      Description: My Lambda Layer
      Content:
        S3Bucket: amzn-s3-demo-bucket
        S3Key: my-layer.zip
      CompatibleRuntimes:
        - python3.9
        - python3.10
        - python3.11

  MyLambdaFunction:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: my-lambda-function
      Runtime: python3.9
      Handler: index.handler
      Timeout: 10
      Role: arn:aws:iam::111122223333:role/my_lambda_role
      Layers:
        - !Ref MyLambdaLayer
```

# Verwendung von AWS SAM mit Ebenen
<a name="layers-sam"></a>

Sie können das AWS Serverless Application Model (AWS SAM) verwenden, um die Erstellung von Ebenen in Ihrer Anwendung zu automatisieren. Der Ressourcentyp `AWS::Serverless::LayerVersion` erstellt eine Ebenenversion, auf die Sie in Ihrer Lambda-Funktionskonfiguration verweisen können.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Description: AWS SAM Template for Lambda Function with Lambda Layer

Resources:
  MyLambdaLayer:
    Type: AWS::Serverless::LayerVersion
    Properties:
      LayerName: my-lambda-layer
      Description: My Lambda Layer
      ContentUri: s3://amzn-s3-demo-bucket/my-layer.zip
      CompatibleRuntimes:
        - python3.9
        - python3.10
        - python3.11

  MyLambdaFunction:
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: MyLambdaFunction
      Runtime: python3.9
      Handler: app.handler
      CodeUri: s3://amzn-s3-demo-bucket/my-function
      Layers:
        - !Ref MyLambdaLayer
```