

# Arbeiten mit AWS Lambda aus dem AWS Toolkit for JetBrains
<a name="building-lambda"></a>

In den folgenden Themen wird beschrieben, wie Sie mit AWS Lambda-Funktionen des AWS Toolkit for JetBrains arbeiten.

**Topics**
+ [Lambda-Laufzeiten](lambda-runtimes.md)
+ [Erstellen einer -Funktion](create-new-lambda.md)
+ [Ausführen (Aufrufen) oder Debuggen einer lokalen Funktion](invoke-lambda.md)
+ [Ausführen (Aufrufen) einer Remote-Funktion](lambda-remote.md)
+ [Ändern (Aktualisieren) von Funktionseinstellungen](lambda-update.md)
+ [Löschen einer Funktion](lambda-delete.md)

# AWS Lambda-Laufzeiten und Support im AWS Toolkit for JetBrains
<a name="lambda-runtimes"></a>

AWS Lambda unterstützt mehrere Sprachen durch die Verwendung von Laufzeiten. Eine Laufzeit bietet eine sprachspezifische Umgebung, die Aufrufereignisse, Kontextinformationen und Antworten zwischen Lambda und der Funktion weiterleitet. Ausführliche Informationen über den Lambda-Service und die unterstützten Laufzeiten finden Sie im *AWS Lambda-Benutzerhandbuch* unter dem Thema [Lambda-Laufzeiten](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy).

Im Folgenden werden Laufzeitumgebungen beschrieben, die derzeit für die Verwendung mit dem AWS Toolkit for JetBrains unterstützt werden.


| Name | ID | Betriebssystem | Architektur | 
| --- | --- | --- | --- | 
|  Node.js 18  |  nodejs18.x  |  Amazon Linux 2  |  x86\$164, arm64  | 
|  Node.js 16  |  nodejs16.x  |  Amazon Linux 2  |  x86\$164, arm64  | 
|  Node.js 14  |  nodejs14.x  |  Amazon Linux 2  |  x86\$164, arm64  | 
|  Python 3.11  |  python3.11  |  Amazon Linux 2  |  x86\$164, arm64  | 
|  Python 3.10  |  python3.10  |  Amazon Linux 2  |  x86\$164, arm64  | 
|  Python 3.9  |  python3.9  |  Amazon Linux 2  |  x86\$164, arm64  | 
|  Python 3.8  |  python3.8  |  Amazon Linux 2  |  x86\$164, arm64  | 
|  Python 3.7  |  python3.7  |  Amazon Linux 2  |  x86\$164  | 
|  Java 17  |  java17  |  Amazon Linux 2  |  x86\$164, arm64  | 
|  Java 11  |  java11  |  Amazon Linux 2  |  x86\$164, arm64  | 
|  Java 8  |  java8.al2  |  Amazon Linux 2  |  x86\$164, arm64  | 
|  Java 8  |  java8  |  Amazon Linux 2  |  x86\$164  | 
|  .NET 6  |  dotnet6  |  Amazon Linux 2  |  x86\$164, arm64  | 
|  Go 1.x  |  go1.x  |  Amazon Linux 2  |  x86\$164  | 

# Erstellen einer AWS Lambda-Funktion mithilfe des AWS Toolkit for JetBrains
<a name="create-new-lambda"></a>

Sie können mit dem AWS Toolkit for JetBrains eine AWS Lambda-Funktion erstellen, die Teil einer serverlosen AWS-Anwendung ist. Oder Sie können eine eigenständige Lambda-Funktion erstellen.

Um eine Lambda-Funktion zu erstellen, die Teil einer AWS-Serverless-Anwendung ist, überspringen Sie den Rest dieses Themas und informieren Sie sich stattdessen unter [Erstellen einer Anwendung](deploy-serverless-app.md).

Um eine eigenständige Lambda-Funktion zu erstellen, müssen Sie zuerst das AWS Toolkit for JetBrains installieren und, sofern noch nicht geschehen, erstmals eine Verbindung mit einem AWS-Konto herstellen. Wenn IntelliJ IDEA, PyCharm, WebStorm oder JetBrains Rider bereits ausgeführt werden, führen Sie dann einen der folgenden Schritte aus:
+ Öffnen Sie den AWS Explorer, sofern er noch nicht geöffnet ist. Wenn Sie zu einer anderen AWS-Region wechseln müssen, um die Funktion darin zu erstellen, tun Sie dies jetzt. Klicken Sie dann mit der rechten Maustaste auf **Lambda** und wählen Sie **AWS Lambda neu erstellen** aus.  
![\[Erstellen einer AWS Lambda-Funktion durch Starten von AWS Explorer\]](http://docs.aws.amazon.com/de_de/toolkit-for-jetbrains/latest/userguide/images/lambda-create-aws-explorer.png)

  Füllen Sie das Dialogfeld [Funktion erstellen](create-function-dialog.md) aus und wählen Sie dann **Funktion erstellen**. Das AWS Toolkit for JetBrains erstellt einen entsprechenden AWS CloudFormation-Stack für die Bereitstellung und fügt den Funktionsnamen der **Lambda**-Liste im **AWS Explorer** hinzu. Wenn die Bereitstellung fehlschlägt, können Sie versuchen, die Ursache aufzudecken, indem Sie Ereignisprotokolle für den Stack anzeigen.
+ Erstellen Sie eine Codedatei, die einen Funktionshandler für [Java](https://docs.aws.amazon.com/lambda/latest/dg/java-programming-model-handler-types.html), [Python](https://docs.aws.amazon.com/lambda/latest/dg/python-programming-model-handler-types.html), [Node.js](https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html) oder [C\$1](https://docs.aws.amazon.com/lambda/latest/dg/dotnet-programming-model-handler-types.html) implementiert. 

  Wenn Sie zu einer anderen AWS-Region wechseln müssen, um die auszuführende (aufzurufende) Remote-Funktion zu erstellen, tun Sie dies jetzt. Wählen Sie dann in der Codedatei das **Lambda**-Symbol im Bundsteg neben dem Funktionshandler aus, und wählen Sie dann **AWS Lambda neu erstellen** aus. Füllen Sie das Dialogfeld [Funktion erstellen](create-function-dialog.md) aus und wählen Sie dann **Funktion erstellen**.  
![\[Erstellen einer AWS Lambda-Funktion durch Starten von einem vorhandenen Funktionshandler in einer Codedatei\]](http://docs.aws.amazon.com/de_de/toolkit-for-jetbrains/latest/userguide/images/lambda-create-code-file.png)
**Anmerkung**  
Wenn das **Lambda**-Symbol nicht im Bundsteg neben dem Funktionshandler angezeigt wird, versuchen Sie, es für das aktuelle Projekt anzuzeigen, indem Sie das folgende Kästchen in **Einstellungen**/**Präferenzen** aktivieren: **Tools**, **AWS**, **Projekteinstellungen**, **Bundsteg-Symbole für alle potenziellen AWS Lambda-Handler anzeigen**. Wenn der Funktionshandler bereits in der entsprechenden AWS SAM-Vorlage definiert ist, wird der Befehl **AWS Lambda neu erstellen** nicht angezeigt.

  Nachdem Sie **Funktion erstellen** gewählt haben, erstellt das AWS Toolkit for JetBrains eine entsprechende Funktion im Lambda-Service für das verbundene AWS-Konto. Wenn der Vorgang erfolgreich ist, wird nach dem Aktualisieren von **AWS Explorer** der Name der neuen Funktion in der **Lambda**-Liste angezeigt.
+ Wenn Sie bei einem bereits vorhandenen Projekt mit einer AWS Lambda-Funktion zuerst zu einer anderen AWS-Region wechseln müssen, um darin die Funktion zu erstellen, tun Sie dies jetzt. Wählen Sie dann in der Codedatei, die den Funktionshandler für [Java](https://docs.aws.amazon.com/lambda/latest/dg/java-programming-model-handler-types.html), [Python](https://docs.aws.amazon.com/lambda/latest/dg/python-programming-model-handler-types.html), [Node.js](https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html) oder [C\$1](https://docs.aws.amazon.com/lambda/latest/dg/dotnet-programming-model-handler-types.html) enthält, das Symbol **Lambda** im Bundsteg neben dem Funktionshandler aus. Wählen Sie **AWS Lambda neu erstellen** aus, füllen Sie das Dialogfeld [Funktion erstellen](create-function-dialog.md) aus und wählen Sie dann **Funktion erstellen**.  
![\[Erstellen einer AWS Lambda-Funktion durch Starten von einem vorhandenen Funktionshandler in einer Codedatei\]](http://docs.aws.amazon.com/de_de/toolkit-for-jetbrains/latest/userguide/images/lambda-create-code-file.png)
**Anmerkung**  
Wenn das **Lambda**-Symbol nicht im Bundsteg neben dem Funktionshandler angezeigt wird, versuchen Sie, es für das aktuelle Projekt anzuzeigen, indem Sie das folgende Kästchen in **Einstellungen**/**Präferenzen** aktivieren: **Tools**, **AWS**, **Projekteinstellungen**, **Bundsteg-Symbole für alle potenziellen AWS Lambda-Handler anzeigen**. Außerdem wird der Befehl **AWS Lambda neu erstellen** nicht angezeigt, wenn der Funktionshandler bereits in der entsprechenden AWS SAM-Vorlage definiert ist.

  Nachdem Sie **Funktion erstellen** gewählt haben, erstellt das AWS Toolkit for JetBrains eine entsprechende Funktion im Lambda-Service für das verbundene AWS-Konto. Wenn der Vorgang erfolgreich ist, wird nach dem Aktualisieren von **AWS Explorer** in der **Lambda**-Liste der Name der neuen Funktion angezeigt.

Nachdem Sie die Funktion erstellt haben, können Sie die lokale Version der Funktion ausführen (aufrufen) oder debuggen oder die Remote-Version ausführen (aufrufen).

# Ausführen (Aufrufen) oder Debuggen der lokalen Version einer AWS Lambda-Funktion mithilfe des AWS Toolkit for JetBrains
<a name="invoke-lambda"></a>

Um dieses Verfahren durchzuführen, müssen Sie die AWS Lambda-Funktion erstellen, die Sie ausführen (aufrufen) oder debuggen möchten, sofern noch nicht geschehen.
**Anmerkung**  
Um die lokale Version einer Lambda-Funktion auszuführen (aufzurufen) oder zu debuggen und diese Funktion lokal mit nicht-standardmäßigen oder optionalen Eigenschaften auszuführen (aufzurufen) oder zu debuggen, müssen Sie diese Eigenschaften zuerst in der entsprechenden AWS SAM-Vorlagendatei der Funktion festlegen (z. B. in einer Datei namens `template.yaml` innerhalb des Projekts). Eine Liste der verfügbaren Eigenschaften finden Sie unter [AWS::Serverless::Function](https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction) im Repository [awslabs/serverless-application-model](https://github.com/awslabs/serverless-application-model/) auf GitHub.

1. Führen Sie eine der folgenden Aktionen aus:
   + Wählen Sie in der Codedatei, die den Funktionshandler für [Java](https://docs.aws.amazon.com/lambda/latest/dg/java-programming-model-handler-types.html), [Python](https://docs.aws.amazon.com/lambda/latest/dg/python-programming-model-handler-types.html), [Node.js](https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html) oder [C\$1](https://docs.aws.amazon.com/lambda/latest/dg/dotnet-programming-model-handler-types.html) enthält, das Symbol Lambda im Bundsteg neben dem Funktionshandler aus. Wählen Sie **Run '[Local]' ('[Lokal]' ausführen)** oder **Debug '[Local]' ('[Lokal]' debuggen)** aus.   
![\[Ausführen oder Debuggen der lokalen Version einer Lambda-Funktion durch Starten über den Funktionshandler in der Codedatei\]](http://docs.aws.amazon.com/de_de/toolkit-for-jetbrains/latest/userguide/images/lambda-local-code.png)
   + Während das **Project (Projekt)**-Werkzeugfenster bereits geöffnet ist und das Projekt mit der Funktion anzeigt, öffnen Sie die Projektdatei `template.yaml`. Wählen Sie das Symbol **Run (Ausführen)** im Bundsteg neben der Ressourcendefinition der Funktion und dann **Run '[Local]' ('[Lokal]' ausführen)** oder **Debug '[Local]' ('[Lokal]' debuggen)** aus.  
![\[Ausführen oder Debuggen der lokalen Version einer Lambda-Funktion durch Starten über die Funktionsdefinition in der AWS SAM-Vorlagendatei\]](http://docs.aws.amazon.com/de_de/toolkit-for-jetbrains/latest/userguide/images/lambda-local-template.png)

1. Füllen Sie das Dialogfeld [Konfiguration bearbeiten (lokale Funktionseinstellungen)](run-debug-configurations-dialog-local.md) aus, wenn es angezeigt wird, und wählen Sie dann **Ausführen** oder **Debuggen**. Die Ergebnisse werden im Werkzeugfenster **Run (Ausführen)** oder **Debug** angezeigt.
   + Wenn das Dialogfeld **Konfiguration bearbeiten** nicht angezeigt wird und Sie die vorhandene Konfiguration ändern möchten, ändern Sie zuerst seine Konfiguration und wiederholen Sie diesen Vorgang von Anfang an. 
   + Wenn die Konfigurationsdetails fehlen, erweitern Sie **Templates (Vorlagen)**, **AWS Lambda** und wählen Sie dann **Local (Lokal)** aus. Wählen Sie **OK** und wiederholen Sie diesen Vorgang von Anfang an. 

# Ausführen (Aufrufen) der Remote-Version einer AWS Lambda-Funktion mithilfe des AWS Toolkit for JetBrains
<a name="lambda-remote"></a>

Eine *Remote*-Version einer AWS Lambda-Funktion ist eine Funktion, deren Quellcode bereits innerhalb des Lambda-Service für ein AWS-Konto vorhanden ist.

Um dieses Verfahren durchzuführen, müssen Sie zuerst das AWS Toolkit for JetBrains installieren und, sofern noch nicht geschehen, erstmals eine Verbindung mit einem AWS-Konto herstellen. Wenn IntelliJ IDEA, PyCharm, WebStorm oder JetBrains Rider ausgeführt werden, führen Sie dann den folgenden Schritt aus.

1. Öffnen Sie den AWS Explorer, sofern er noch nicht geöffnet ist. Wenn Sie zu einer anderen AWS-Region wechseln müssen, die die Funktion enthält, tun Sie dies jetzt.

1. Erweitern Sie **Lambda** und bestätigen Sie, dass der Name der Funktion aufgeführt ist. Fahren Sie in diesem Fall mit Schritt 3 in diesem Verfahren fort.

   Wenn der Name der Funktion nicht aufgeführt wird, erstellen Sie die Lambda-Funktion, die Sie ausführen (aufrufen) möchten. 

   Wenn Sie die Funktion als Teil einer AWS–Serverless-Anwendung erstellt haben, müssen Sie diese Anwendung auch bereitstellen.

   Wenn Sie die Funktion durch Erstellen einer Codedatei erstellt haben, die einen Funktionshandler für [Java](https://docs.aws.amazon.com/lambda/latest/dg/java-programming-model-handler-types.html), [Python](https://docs.aws.amazon.com/lambda/latest/dg/python-programming-model-handler-types.html), [Node.js](https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html) oder [C\$1](https://docs.aws.amazon.com/lambda/latest/dg/dotnet-programming-model-handler-types.html) implementiert, wählen Sie in der Codedatei das Symbol Lambda neben dem Funktionshandler aus. Klicken Sie dann auf **AWS Lambda neu erstellen**. Füllen Sie das Dialogfeld [Funktion erstellen](create-function-dialog.md) aus und wählen Sie dann **Funktion erstellen**.

1. Wenn **Lambda** im **AWS Explorer** geöffnet ist, klicken Sie mit der rechten Maustaste auf den Namen der Funktion und wählen Sie **'[Remote]' ausführen**.  
![\[Ausführen der Remote-Version einer Lambda-Funktion, indem Sie vom AWS Explorer aus starten\]](http://docs.aws.amazon.com/de_de/toolkit-for-jetbrains/latest/userguide/images/lambda-remote.png)

1. Füllen Sie das Dialogfeld [Konfiguration bearbeiten (Remote-Funktionseinstellungen)](run-debug-configurations-dialog-remote.md) aus, wenn es angezeigt wird, und wählen Sie dann **Ausführen** oder **Debuggen**. Die Ergebnisse werden im Werkzeugfenster **Run (Ausführen)** oder **Debug** angezeigt.
   + Wenn das Dialogfeld **Konfiguration bearbeiten** nicht angezeigt wird und Sie die vorhandene Konfiguration ändern möchten, ändern Sie zuerst seine Konfiguration und wiederholen Sie diesen Vorgang von Anfang an. 
   + Wenn die Konfigurationsdetails fehlen, erweitern Sie **Templates (Vorlagen)**, **AWS Lambda** und wählen Sie dann **Local (Lokal)** aus. Wählen Sie **OK** und wiederholen Sie diesen Vorgang von Anfang an. 

# Ändern (Aktualisieren) der AWS Lambda-Funktionseinstellungen mithilfe des AWS Toolkit for JetBrains
<a name="lambda-update"></a>

Führen Sie einen der folgenden Schritte aus, um das AWS Toolkit for JetBrains zum Ändern (Aktualisieren) von Einstellungen für eine AWS Lambda-Funktion zu verwenden.
+ Während die Codedatei mit dem Funktionshandler für [Java](https://docs.aws.amazon.com/lambda/latest/dg/java-programming-model-handler-types.html), [Python](https://docs.aws.amazon.com/lambda/latest/dg/python-programming-model-handler-types.html), [Node.js](https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html) oder [C\$1](https://docs.aws.amazon.com/lambda/latest/dg/dotnet-programming-model-handler-types.html) geöffnet ist, wählen Sie im Hauptmenü **Run (Ausführen)**, **Edit Configurations (Konfigurationen bearbeiten)**. Füllen Sie das Dialogfeld [Run/Debug Configurations (Konfigurationen ausführen/debuggen)](run-debug-configurations-dialog.md) aus und wählen Sie dann **OK**.
+ Öffnen Sie den AWS Explorer, sofern er noch nicht geöffnet ist. Wenn Sie zu einer anderen AWS-Region wechseln müssen, die die Funktion enthält, tun Sie dies jetzt. Erweitern Sie **Lambda**, wählen Sie den Namen der Funktion aus, für die die Konfiguration geändert werden soll, und führen Sie dann eine der folgenden Aktionen aus:
  + **Ändern von Einstellungen wie Timeout, Speicher, Umgebungsvariablen und Ausführungsrolle –** Klicken Sie mit der rechten Maustaste auf den Namen der Funktion und wählen Sie dann **Funktionskonfiguration aktualisieren**.  
![\[Auswählen des Befehls „Update Function Configuration (Funktionskonfiguration aktualisieren)“\]](http://docs.aws.amazon.com/de_de/toolkit-for-jetbrains/latest/userguide/images/update-function-configuration.png)

    Füllen Sie das Dialogfeld [Update Configuration (Konfiguration aktualisieren)](update-configuration-dialog.md) aus und wählen Sie dann **Update (Aktualisieren)**. 
  + **Einstellungen ändern, wie z. B. die Eingabe-Nutzlast** – Wählen Sie im Hauptmenü **Ausführen**, **Konfigurationen bearbeiten**. Füllen Sie das Dialogfeld [Run/Debug Configurations (Konfigurationen ausführen/debuggen)](run-debug-configurations-dialog.md) aus und wählen Sie dann **OK**.  
![\[Auswählen des Befehls „Edit Configurations (Konfigurationen bearbeiten)“\]](http://docs.aws.amazon.com/de_de/toolkit-for-jetbrains/latest/userguide/images/edit-configurations.png)

    Wenn die Konfigurationsdetails fehlen, erweitern Sie zuerst **Templates (Vorlagen)**, **AWS Lambda** und wählen Sie dann **Local (Lokal)** (für die lokale Version der Funktion) oder **Remote** (für die Remote-Version derselben Funktion) aus. Wählen Sie **OK** und wiederholen Sie diesen Vorgang von Anfang an.)
  + **Ändern von Einstellungen wie den Namen des Funktionshandlers oder des Amazon Simple Storage Service (Amazon S3)-Quell-Buckets** – Klicken Sie mit der rechten Maustaste auf den Funktionsnamen und wählen Sie dann **Funktionscode aktualisieren**.  
![\[Auswählen des Befehls „Update Function Code (Funktionscode aktualisieren)“\]](http://docs.aws.amazon.com/de_de/toolkit-for-jetbrains/latest/userguide/images/update-function-code.png)

    Füllen Sie das Dialogfeld [Update Code (Code aktualisieren)](update-code-dialog.md) aus und wählen Sie dann **Update (Aktualisieren)**.
  + **Ändern anderer verfügbarer Eigenschaftseinstellungen, die in den vorangegangenen Gliederungspunkten nicht aufgeführt sind** – Ändern Sie diese Einstellungen in der entsprechenden AWS SAM-Vorlagendatei der Funktion (z. B. in einer Datei namens `template.yaml` im Projekt). 

    Eine Liste der verfügbaren Eigenschaftseinstellungen finden Sie unter [AWS::Serverless::Function](https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction) im Repository [awslabs/serverless-application-model](https://github.com/awslabs/serverless-application-model/) auf GitHub. 

# Löschen einer AWS Lambda-Funktion mithilfe des AWS Toolkit for JetBrains
<a name="lambda-delete"></a>

Sie können mit dem AWS Toolkit eine AWS Lambda-Funktion löschen, die Teil einer AWS–Serverless-Anwendung ist, oder Sie können eine eigenständige Lambda-Funktion löschen.

Um eine Lambda-Funktion zu löschen, die Teil einer AWS-Serverless-Anwendung ist, überspringen Sie den Rest dieses Themas und informieren Sie sich stattdessen unter [Löschen einer Anwendung](sam-delete.md).

Gehen Sie folgendermaßen vor, um eine eigenständige Lambda-Funktion zu löschen.

1. Öffnen Sie den AWS Explorer, sofern er noch nicht geöffnet ist. Wenn Sie zu einer anderen AWS-Region wechseln müssen, die die Funktion enthält, tun Sie dies jetzt.

1. Erweitern Sie **Lambda**.

1. Klicken Sie mit der rechten Maustaste auf den Namen der zu löschenden Funktion und wählen Sie dann **Delete Function (Funktion löschen)**.  
![\[Auswählen des Befehls „Delete Function (Funktion löschen)“\]](http://docs.aws.amazon.com/de_de/toolkit-for-jetbrains/latest/userguide/images/lambda-delete.png)

1. Geben Sie den Namen der Funktion ein, um den Löschvorgang zu bestätigen, und wählen Sie dann **OK**. Wenn das Löschen der Funktion erfolgreich ist, entfernt das AWS Toolkit for JetBrains den Funktionsnamen aus der **Lambda-Liste**.