

 AWS Cloud9 ist für Neukunden nicht mehr verfügbar. Bestehende Kunden von AWS Cloud9 können den Dienst weiterhin wie gewohnt nutzen. [Weitere Informationen](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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.

# Arbeiten AWS SAM mit dem AWS Toolkit
<a name="serverless-apps-toolkit"></a>

Das AWS Toolkit bietet Unterstützung für [serverlose](https://aws.amazon.com/serverless/) Anwendungen. Mit dem AWS Toolkit können Sie serverlose Anwendungen erstellen, die [AWS Lambda](https://aws.amazon.com/lambda/)Funktionen enthalten, und die Anwendungen dann in einem Stack bereitstellen. AWS CloudFormation 

## Erstellen einer serverless Anwendung
<a name="sam-create"></a>

Dieses Beispiel zeigt, wie Sie das AWS Toolkit verwenden, um eine serverlose Anwendung zu erstellen. Informationen zum Ausführen und Debuggen von Serverless-Anwendungen finden Sie unter [Testen und Debuggen von serverless Anwendungen](#sam-run-debug).

Zu den notwendigen Voraussetzungen zum Erstellen einer Serverless-Anwendung gehören die **AWS SAM CLI** und die **AWS -CLI**. Diese sind in enthalten. AWS Cloud9 Wenn AWS SAM CLI nicht installiert oder veraltet ist, müssen Sie möglicherweise eine Installation oder ein Upgrade ausführen. Anweisungen zur [Installation der AWS SAM CLI finden Sie unter AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html#install-sam-cli-instructions) installieren und Anweisungen zum Upgrade der AWS SAM CLI finden Sie unter [AWS SAM CLI aktualisieren](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/manage-sam-cli-versions.html#manage-sam-cli-versions-upgrade).

### Erstellen Sie mit dem Toolkit eine serverlose Anwendung AWS
<a name="create-serverless-app"></a>

[Dieses Beispiel zeigt, wie Sie mithilfe von () eine serverlose Anwendung mit dem AWS Toolkit erstellen.AWS Serverless Application ModelAWS SAM](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html)

1. Öffnen Sie im **AWS Explorer** das Kontextmenü (rechte Maustaste) für den **Lambda**-Knoten und wählen Sie dann **Create Lambda SAM Application** (Lambda-SAM-Anwendung erstellen) aus. 
**Anmerkung**  
Sie können auch das Menüsymbol im Menü **AWS: Explorer** und dann **Create Lambda SAM Application** (Lambda-SAM-Anwendung erstellen) auswählen.

1. Wählen Sie die Laufzeit für Ihre SAM-Anwendung aus. Wählen Sie in diesem Beispiel **nodejs12.x**.
**Anmerkung**  
Wenn Sie eine der Laufzeiten mit „(Image)“ auswählen, ist Ihre Anwendung Pakettyp `Image`. Wenn Sie eine der Laufzeiten ohne „(Image)“ auswählen, ist Ihre Anwendung der Typ `Zip`. Für weitere Informationen zu den Unterschieden zwischen `Image` und `Zip` Pakettypen finden Sie unter [Lambda-Bereitstellungspakete](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) im *AWS Lambda Entwicklerhandbuch*.

1. Wählen Sie eine der folgenden Vorlagen für Ihre Serverless-App aus:
   + **AWS SAM Hello World**: Eine einfache Vorlage mit einer Lambda-Funktion, die die klassische „Hello World“ -Meldung zurückgibt.
   + **AWS Step Functions Beispiel-App**: Eine Beispielanwendung, die einen Aktienhandels-Workflow ausführt. Schrittfunktionen orchestrieren die Interaktionen der beteiligten Lambda Funktionen. 

1. Wählen Sie einen Speicherort für Ihr neues Projekt aus. Wenn verfügbar, können Sie einen vorhandenen Workspace-Ordner auswählen. Andernfalls suchen Sie nach einem anderen Ordner. Wenn Sie auf **Select a different folder** (Einen anderen Ordner auswählen) klicken, wird ein Dialogfeld angezeigt, in dem Sie einen Ordnerspeicherort festlegen können.

1. Geben Sie einen Namen für Ihre Anwendung ein. Wählen Sie für dieses Beispiel `my-sam-app-nodejs`. Nachdem Sie die **Eingabetaste** gedrückt haben, benötigt das AWS Toolkit einen Moment, um das Projekt zu erstellen.

Wenn das Projekt erstellt wurde, können Sie die Dateien Ihrer Anwendung im Fenster Umgebung anzeigen. Dieser wird im **Explorer**-Fenster aufgelistet.

![\[Screenshot mit den verfügbaren Laufzeiten für SAM-Anwendungen.\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/images/sam-create-app-explorer.png)


## Testen und Debuggen von serverless Anwendungen
<a name="sam-run-debug"></a>

Sie können das AWS Toolkit verwenden, um zu konfigurieren, wie serverlose Anwendungen debuggt und lokal in Ihrer Entwicklungsumgebung ausgeführt werden. Sie können eine serverlose Anwendung debuggen, die durch eine Vorlage () definiert ist. AWS Serverless Application Model AWS SAM Diese Vorlage verwendet eine einfache YAML-Syntax, um Ressourcen wie Funktionen, APIs Datenbanken und Zuordnungen von Ereignisquellen zu beschreiben, aus denen eine serverlose Anwendung besteht. 

[https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy.html](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy.html) 

Alternativ können Sie serverless Anwendungen, die noch nicht an eine SAM-Vorlage übergeben wurden, schnell debuggen.

Sie beginnen mit der Konfiguration des Debug-Verhaltens, indem Sie Inline-Aktionen verwenden, um eine geeignete AWS Lambda Funktion zu identifizieren. Um die durch die SAM-Vorlage definierte Infrastruktur zu verwenden, verwenden Sie die Inline-Aktion in der entsprechenden YAML-formatierten Datei. Um die Funktion direkt ohne Vorlage zu testen, verwenden Sie den kontextbezogenen Link für den Lambda Handler in der Anwendungsdatei.

**Anmerkung**  
In diesem Beispiel debuggen wir eine Anwendung, die verwendet. JavaScript Sie können jedoch die im AWS Toolkit verfügbaren Debugging-Funktionen in den folgenden Sprachen und Laufzeiten verwenden:  
JavaScript — Node.js 10. *x*, 12. *x*, 14. *x*
Python — 3.7, 3.8, 3.9, 3.10 (Serverlose Python 2.7- und 3.6-Anwendungen können mit dem Toolkit ausgeführt, aber nicht debuggt werden.) AWS 
Ihre Sprachauswahl wirkt sich auch auf die Art und Weise aus, wie kontextbezogene Links auf berechtigte Lambda Handler hinweisen. Weitere Informationen finden Sie unter [Ausführen und Debuggen von serverless Funktionen direkt aus dem Code](#run-debug-no-template).

### Verwenden von SAM-Vorlagen zum Ausführen und Debuggen von serverless Anwendungen
<a name="sam-run-debug-template"></a>

Für Anwendungen, die mit einer SAM-Vorlage ausgeführt und debuggt werden, beschreibt eine YAML-formatierte Datei das Verhalten der Anwendung und die verwendeten Ressourcen. Wenn Sie mit dem AWS Toolkit eine serverlose Anwendung erstellen, `template.yaml` wird automatisch eine Datei mit dem Namen für Ihr Projekt generiert.

In diesem Verfahren verwenden Sie die Beispielanwendung, die in [Erstellen einer serverless Anwendung](#sam-create) erstellt wurde.

### So verwenden Sie eine SAM-Vorlage zum Ausführen und Debuggen einer serverless Anwendung


1. Um Ihre Anwendungsdateien anzuzeigen, aus denen Ihre serverless Anwendung besteht, rufen Sie das Fenster **Environment** (Umgebung) auf.

1. Öffnen Sie die `template.yaml` Datei im Anwendungsordner (z. B. *my-sample-app*).

1. Wählen Sie für `template.yaml` die Option **Edit Launch Configuration** (Startkonfiguration bearbeiten) aus.

   Ein neuer Editor zeigt die `launch.json`-Datei, die eine Debugging-Konfiguration mit Standardattributen bereitstellt.

1. <a name="properties"></a>Bearbeiten oder bestätigen Sie Werte für die folgenden Konfigurationseigenschaften:
   + `"name"` – Geben Sie einen leserfreundlichen Namen ein, der in der im Dropdown-Feld **Configuration** (Konfiguration) der Ansicht **Run** (Ausführen) angezeigt wird.
   + `"target"` – Vergewissern Sie sich, dass der Wert `"template"` ist. Auf diese Weise stellen Sie sicher, dass die SAM-Vorlage der Einstiegspunkt für die Debug-Sitzung ist. 
   + `"templatePath"`— Geben Sie einen relativen oder absoluten Pfad für die Datei `template.yaml` an.
   + `"logicalId"` –Stellen Sie sicher, dass der Name mit dem im Abschnitt **Resources** (Ressourcen) der SAM-Vorlage übereinstimmt. In diesem Fall handelt es sich um den `HelloWorldFunction` vom Typ `AWS::Serverless::Function`.

   Weitere Informationen zu diesen und anderen Einträgen in `launch.json` finden Sie in [Konfigurationsoptionen für das Debuggen von serverless Anwendungen](sam-debug-config-ref.md).

1. Wenn Sie mit Ihrer Debug-Konfiguration zufrieden sind, speichern Sie `launch.json`. Wählen Sie dann die grüne Schaltfläche „Play“ (Wiedergabe) neben **RUN** (AUSFÜHREN) aus, um das Debugging zu starten.
**Anmerkung**  
Wenn die SAM-Anwendung nicht ausgeführt werden kann, überprüfen Sie das Kontrollkästchen **Ausgabe**, um zu sehen, ob der Fehler durch ein Docker-Image verursacht wird, das nicht erstellt wird. Sie müssen möglicherweise Speicherplatz in Ihrer Umgebung freigeben.   
Weitere Informationen finden Sie unter [Fehler beim lokalen Ausführen von SAM-Anwendungen im AWS Toolkit, da die AWS Cloud9 Umgebung nicht über genügend Festplattenspeicher verfügt](troubleshooting.md#troubleshooting-dockerimage-toolkit). 

   Wenn die Debugging-Sitzung gestartet wird, zeigt der Bereich **DEBUG CONSOLE** (DEBUGKONSOLE) die Debugging-Ausgabe mit allen von der Lambda Funktion zurückgegebenen Werten an. Beim Debuggen von SAM-Anwendungen wird das **AWS Toolkit ** als **Output channel** (Ausgabekanal) im Bereich **Output** (Ausgabe) ausgewählt.<a name="docker-problem"></a>
**Anmerkung**  
Wenn bei diesem Vorgang ein Docker-Mounting-Fehler auftritt, müssen Windows-Benutzer die Anmeldeinformationen für ihre freigegebenen Laufwerke in **Docker Settings** (Docker-Einstellungen) möglicherweise aktualisieren. Ein Docker-Mounting-Fehler sieht etwa folgendermaßen aus.   

   ```
   Fetching lambci/lambda:nodejs10.x Docker container image......
   2019-07-12 13:36:58 Mounting C:\Users\<username>\AppData\Local\Temp\ ... as /var/task:ro,delegated inside runtime container
   Traceback (most recent call last):
   ...requests.exceptions.HTTPError: 500 Server Error: Internal Server Error ...
   ```

### Ausführen und Debuggen von serverless Funktionen direkt aus dem Code
<a name="run-debug-no-template"></a>

Beim Testen der AWS SAM Anwendung können Sie wählen, ob nur die Lambda-Funktion ausgeführt und debuggt werden soll. Schließen Sie andere Ressourcen aus, die in der SAM-Vorlage definiert sind. Bei diesem Ansatz wird eine Inline-Aktion verwendet, um Lambda-Funktionshandler im Quellcode zu identifizieren, der direkt aufgerufen werden kann. 

Die Lambda Handler, die von kontextbezogenen Links erkannt werden, hängen von der Sprache und der Laufzeit ab, die Sie für Ihre Anwendung verwenden.


|  Language/runtime  | Bedingungen für Lambda Funktionen, die durch kontextbezogene Links identifiziert werden | 
| --- | --- | 
|  JavaScript (Node.js 10.x, 12.x und 14.x)  |  Die Suchfunktion bietet zudem die folgenden Funktionen: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/serverless-apps-toolkit.html)  | 
|  Python (3.7, 3.8, 3.9 und 3.10)  |  Die Suchfunktion bietet zudem die folgenden Funktionen: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/serverless-apps-toolkit.html)  | 

### So führen und debuggen Sie eine serverless Anwendung direkt aus dem Anwendungscode




1. Wenn Sie Serverless-Anwendungsdateien anzeigen möchten, navigieren Sie zum Anwendungsordner, indem Sie das Ordnersymbol neben dem Editor auswählen.

1. Erweitern Sie im Anwendungsordner (z. B. *my-sample-app*) den Funktionsordner (in diesem Beispiel *hello-world*) und öffnen Sie die Datei. `app.js`

1. Wählen Sie in der Inline-Aktion, die eine berechtigte Lambda Handler-Funktion identifiziert, `Add Debug Configuration` aus. Wenn die Option zum Hinzufügen einer Debug-Konfiguration nicht angezeigt wird, müssen Sie CodeLenses aktivieren. Informationen zum Aktivieren von Code Lenses finden Sie unter [AWS Toolkit-Codelinsen aktivieren](enable-code-lenses.md).  
![\[Greifen Sie auf die Option Debug-Konfiguration hinzufügen in der Inline-Aktion für einen Lambda Funktionshandler zu.\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/images/direct_invoke_config.png)

1. Wählen Sie die Laufzeit aus, in der Ihre SAM-Anwendung ausgeführt wird.

1. Klicken Sie im Editor für die Datei `launch.json`, bearbeiten oder bestätigen Sie Werte für die folgenden Konfigurationseigenschaften:
   + `"name"`— Geben Sie einen leserfreundlichen Namen ein.
   + `"target"`— Stellen Sie sicher, dass der Wert `"code"` ist, sodass ein Lambda Funktionshandler direkt aufgerufen wird.
   + `"lambdaHandler"` – Geben Sie den Namen der Methode innerhalb Ihres Codes ein, die die Lambda-Funktion zum Ausführen Ihrer Funktion aufruft. Für Anwendungen in JavaScript ist die Standardeinstellung beispielsweise. `app.lambdaHandler`
   + `"projectRoot"`— Geben Sie den Pfad zur Anwendungsdatei ein, die die Lambda -Funktion enthält.
   + `"runtime"` – Geben Sie eine gültige Laufzeit für die Lambda-Ausführungsumgebung ein oder bestätigen Sie diese (z. B. `"nodejs.12x"`).
   + `"payload"`— Wählen Sie eine der folgenden Optionen zum Definieren der Ereignis-Nutzlast aus, die Sie Ihrer Lambda -Funktion als Eingabe bereitstellen möchten:
     + `"json"`: JSON-formatierte Schlüssel-Wert-Paare, welche die Ereignisnutzlast definieren.
     + `"path"`: Ein Pfad zu der Datei, die als Ereignisnutzlast verwendet wird.

1. 

   Wenn Sie mit der Debug-Konfiguration zufrieden sind, klicken Sie auf den grünen Wiedergabepfeil neben **RUN**, um das Debugging zu starten.

   Wenn die Debugging-Sitzung gestartet wird, zeigt der Bereich **DEBUG CONSOLE** (DEBUGKONSOLE) die Debugging-Ausgabe mit allen von der Lambda Funktion zurückgegebenen Werten an. Beim Debuggen von SAM-Anwendungen wird **AWS Toolkit ** als **Output channel** (Ausgabekanal) im Bereich **Output** (Ausgabe) ausgewählt.
**Anmerkung**  
Wenn Docker in Fehlermeldungen erwähnt wird, lesen Sie diesen [Hinweis](#docker-problem).

### Ausführen und Debuggen lokaler Amazon API Gateway Ressourcen
<a name="run-debug-api-gateway"></a>

Sie können lokale AWS SAM API Gateway Gateway-Ressourcen ausführen oder debuggen, die in `template.yaml` angegeben sind. Führen Sie dazu eine AWS Cloud9 Startkonfiguration von `type=aws-sam` mit dem `invokeTarget.target=api` aus.

**Anmerkung**  
API Gateway unterstützt zwei Typen von APIs. Sie sind REST und HTTP APIs. Die API-Gateway-Funktion mit dem AWS Toolkit unterstützt jedoch nur REST APIs. Manchmal APIs werden HTTP als „API Gateway V2" bezeichnet APIs.

**So führen und debuggen Sie lokale API Gateway Ressourcen**

1. Wählen Sie einen der folgenden Ansätze zum Erstellen einer Startkonfiguration für eine AWS SAM API Gateway Ressource:
   + **Option 1**: Rufen Sie den Handler-Quellcode (insbesondere die .js-, .cs- oder .py-Datei) in Ihrem AWS SAM -Projekt auf. Bewegen Sie den Mauszeiger über den Lambda-Handler und wählen Sie **Add Debug Configuration** (Debug-Konfiguration hinzufügen) aus. Wenn die Option zum Hinzufügen einer Debug-Konfiguration nicht angezeigt wird, müssen Sie CodeLenses aktivieren. Informationen zum Aktivieren von CodeLenses finden Sie unter [AWS Toolkit-Codelinsen aktivieren](enable-code-lenses.md).) Wählen Sie dann im Menü den Eintrag API-Ereignis aus.
   + **Option 2** Bearbeiten `launch.json` und erstellen Sie eine neue Startkonfiguration mithilfe der folgenden Syntax.

     ```
     {
         "type": "aws-sam",
         "request": "direct-invoke",
         "name": "myConfig",
         "invokeTarget": {
             "target": "api",
             "templatePath": "n12/template.yaml",
             "logicalId": "HelloWorldFunction"
         },
         "api": {
             "path": "/hello",
             "httpMethod": "post",
             "payload": {
                 "json": {}
             }
         }, 
         "sam": {},
         "aws": {}
     }
     ```

1. Wählen Sie im Dropdown-Menü neben **Run** (Ausführen) die Startkonfiguration (mit dem Namen `myConfig` im vorherigen Beispiel) aus.

1. (Optional) Fügen Sie Ihrem Lambda Projektcode Haltepunkte hinzu.

1. Wählen Sie das Symbol **Run** (Ausführen) neben der grünen **Schaltfläche „Wiedergeben“** aus.

1. Zeigen Sie im Ausgabefenster die Ergebnisse an.

#### Konfiguration
<a name="run-debug-api-gateway-configuration"></a>

Wenn Sie den `invokeTarget.target`Eigenschaftswert`api` benutzen, ändert das Toolkit die Validierung und das Verhalten der Startkonfiguration, um ein `api` -Feld zu unterstützen.

```
{
    "type": "aws-sam",
    "request": "direct-invoke",
    "name": "myConfig",
    "invokeTarget": {
        "target": "api",
        "templatePath": "n12/template.yaml",
        "logicalId": "HelloWorldFunction"
    },
    "api": {
        "path": "/hello",
        "httpMethod": "post",
        "payload": {
            "json": {}
        },
        "querystring": "abc=def&qrs=tuv",
        "headers": {
            "cookie": "name=value; name2=value2; name3=value3"
        }
    },
    "sam": {},
    "aws": {}
}
```

Ersetzen Sie die Werte im Beispiel wie folgt:

**InvokeTarget.LogicalID**  
Eine API-Ressource.

**Pfad**  
Der API-Pfad, den die Startkonfiguration anfordert (z. B. `"path": "/hello"`).  
Dies muss ein gültiger API-Pfad sein, der aus `template.yaml` aufgelöst wird, die von `invokeTarget.templatePath` angegeben wird.

**httpMethod**  
Verwenden Sie eines der folgenden Verben: „delete“, „get“, „head“, „options“, „patch“, „post“ und „put“.

**Nutzlast**  
Die JSON-Payload (HTTP-Body), die in der Anforderung gesendet werden soll, mit der gleichen Struktur und den gleichen Regeln wie das Feld lambda.payload.  
`payload.path` verweist auf eine Datei, die die JSON-Payload enthält.  
`payload.json` gibt eine JSON-Nutzlast inline an.

**Header**  
Optionale Zuordnung von Name-Wert-Paaren. Verwenden Sie diese, um HTTP-Header anzugeben, die in die Anforderung aufgenommen werden sollen.  

```
"headers": {
     "accept-encoding": "deflate, gzip;q=1.0, *;q=0.5",
     "accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5",
     "cookie": "name=value; name2=value2; name3=value3",
     "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
}
```

**querystring**  
(Optional) Verwenden Sie diese Zeichenfolge, um die `querystring` der Anforderung festzulegen (z. B. `"querystring": "abc=def&ghi=jkl"`).

**AWS**  
Wie AWS Verbindungsinformationen bereitgestellt werden. Weitere Informationen finden Sie in der Tabelle **AWS -Verbindung (`aws`) Eigenschaften** in [Konfigurationsoptionen für das Debuggen von serverless Anwendungen](sam-debug-config-ref.md).

**sam**  
Wie die AWS SAM CLI die Anwendung erstellt. Weitere Informationen finden Sie in **AWS SAM CLI (“`sam`„) Eigenschaften** in [Konfigurationsoptionen für das Debuggen von serverless Anwendungen](sam-debug-config-ref.md).

## Synchronisieren einer serverlosen Anwendung
<a name="deploy-serverless-app"></a>

Dieses Beispiel zeigt, wie Sie die serverlose Anwendung, die im vorherigen Thema ([Erstellen einer serverless Anwendung](#sam-create)) erstellt wurde, mit der Verwendung von synchronisieren. AWS AWS Toolkit for Visual Studio Code

### Voraussetzungen
<a name="deploy-sam-prereq"></a>
+ Achten Sie darauf, einen global eindeutigen Namen für den Amazon-S3-Bucket auszuwählen.
+ Stellen Sie sicher, dass die von Ihnen konfigurierten Anmeldeinformationen den entsprechenden read/write Zugriff auf die folgenden Dienste beinhalten: Amazon S3 CloudFormation AWS Lambda,, und Amazon API Gateway.
+ Stellen Sie für Anwendungen mit Bereitstellungstyp `Image` sicher, dass Sie sowohl einen global eindeutigen Namen für den Amazon-S3-Bucket als auch einen Repository-URI von Amazon ECR für die Bereitstellung vorliegen haben.

### Synchronisieren einer serverlosen Anwendung
<a name="deploy-sam-proc"></a>

1. Öffnen Sie im **AWS Explorer-Fenster** das Kontextmenü (Rechtsklick) für den **Lambda-Knoten** und wählen Sie **SAM-Anwendung synchronisieren** aus.

1. Wählen Sie die aus AWS-Region , für die Bereitstellung verwendet werden soll. 

1. Wählen Sie die `template.yaml`-Datei aus, die für die Bereitstellung verwendet werden soll.

1. Geben Sie den Namen eines Amazon-S3-Buckets ein, den diese Bereitstellung verwenden kann. Der Bucket muss sich in der Region befinden, in der die Bereitstellung erfolgt.
**Warnung**  
Der Amazon-S3-Bucket-Name muss unter den in Amazon S3 vorhandenen Bucket-Namen global eindeutig sein. Fügen Sie dem im folgenden Beispiel angegebenen Namen einen eindeutigen Bezeichner hinzu oder wählen Sie einen anderen Namen aus.

1. Wenn Ihre serverless Anwendung eine Funktion mit dem Pakettyp `Image`. Geben Sie den Namen eines Amazon ECR-Repositorys ein, das diese Bereitstellung verwenden kann. Der Bucket muss sich in der Region befinden, in der Sie bereitstellen.

1. Geben Sie einen Namen für den bereitgestellten Stack ein, entweder einen neuen Stacknamen oder einen vorhandenen Stacknamen.

1. Überprüfen Sie den Erfolg der Bereitstellung auf der Registerkarte **AWS Toolkit** von der **Konsole**.

   Wenn ein Fehler auftritt, wird rechts unten eine Meldung angezeigt.

   Wenn dies der Fall ist, überprüfen Sie den Text auf der Registerkarte **AWS Toolkit**, um Details zu erhalten. Im Folgenden finden Sie ein Beispiel für Fehlerdetails.

   ```
   Error with child process: Unable to upload artifact HelloWorldFunction referenced by CodeUri parameter of HelloWorldFunction resource.
   S3 Bucket does not exist. Execute the command to create a new bucket
   aws s3 mb s3://pbart-my-sam-app-bucket
   An error occurred while deploying a SAM Application. Check the logs for more information by running the "View AWS Toolkit Logs" command from the Command Palette.
   ```

   In diesem Beispiel ist der Fehler aufgetreten, weil der Amazon-S3-Bucket nicht vorhanden war.

Wenn die Bereitstellung abgeschlossen ist, wird Ihre Anwendung im **AWS Explorer** aufgeführt. Weitere Informationen zum Abrufen und Debuggen der Lambda-Funktion, die als Teil der Anwendung erstellt wurde, finden Sie unter [Aufrufen von Lambda-Funktionen](lambda-toolkit.md#remote-lambda).

## Löschen einer serverlosen Anwendung aus der Cloud AWS
<a name="delete-serverless-app"></a>

Das Löschen einer serverlosen Anwendung beinhaltet das Löschen des CloudFormation Stacks, den Sie zuvor in der Cloud bereitgestellt haben. AWS Beachten Sie, dass dieses Verfahren Ihr Anwendungsverzeichnis nicht von Ihrem lokalen Host löscht.

1. Öffnen Sie den **AWS Explorer**.

1. Im Fenster **AWS Explorer** erweitern Sie die Region mit der bereitgestellten Anwendung, die Sie löschen möchten, und erweitern Sie dann **CloudFormation**.

1. Öffnen Sie das Kontextmenü (Rechtsklick) für den Namen des CloudFormation Stacks, der der serverlosen Anwendung entspricht, die Sie löschen möchten. Wählen Sie dann ** CloudFormation Stack löschen**.

1. Um zu bestätigen, dass Sie den ausgewählten Stack löschen möchten, wählen Sie die Option **Delete** (Löschen) aus.

**Wenn das Löschen des Stacks erfolgreich ist, entfernt das AWS Toolkit den Stack-Namen aus der CloudFormation Liste im AWS Explorer.**

# AWS Toolkit-Codelinsen aktivieren
<a name="enable-code-lenses"></a>

Dieser Schritt zeigt, wie Sie AWS Toolkit-Codelinsen aktivieren können.

1. Wählen Sie in der Menüleiste **AWS Cloud9** und dann **Preferences** (Einstellungen) aus.

1. Wählen Sie in der Seitenleiste auf der Registerkarte **Preferences** (Einstellungen) die Option **AWS Toolkit** aus.

1. Wählen Sie zum Aktivieren der Code Lenses **Enable Code Lenses** (Code Lenses aktivieren) aus.

# Konfigurationsoptionen für das Debuggen von serverless Anwendungen
<a name="sam-debug-config-ref"></a>

Mit Inline-Aktionen können Sie einfach Eigenschaften zum Aufrufen von Lambda Funktionen direkt oder mit der SAM-Vorlage finden und definieren. Sie können auch Eigenschaften für `"lambda"` (wie die Funktion ausgeführt wird), `"sam"` (wie die AWS SAM CLI die Anwendung erstellt) und `"aws"` (wie AWS Verbindungsinformationen bereitgestellt werden) definieren. 


**AWS SAM: Direkter Lambda-Handler-Aufruf//Vorlagenbasierter Lambda-Aufruf**  

| Property (Eigenschaft) | Description (Beschreibung) | 
| --- | --- | 
|  `type`  |  Gibt an, welche Erweiterung die Startkonfiguration verwaltet. Immer auf eingestellt, `aws-sam` um die AWS SAM CLI zum lokalen Erstellen und Debuggen zu verwenden.  | 
|  `name`  |  Gibt einen leserfreundlichen Namen an, der in der Liste **Konfiguration des Debuggen Startstarts** angezeigt wird.  | 
| `request` |  Gibt den Konfigurationstyp an, der von der angegebenen Erweiterung (`aws-sam`) enthalten. Immer auf `direct-invoke` gesetzt, um die Lambda-Funktion zu starten.  | 
|  `invokeTarget`  |  Gibt den Eintrittspunkt für den Aufruf der Ressource an. Um die Lambda Funktion direkt aufzurufen, legen Sie Werte für die folgenden`invokeTarget`-Felder:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/sam-debug-config-ref.html) Legen Sie zum Aufrufen der Lambda Ressourcen mit der SAM-Vorlage Werte für die folgenden `invokeTarget`-Felder: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/sam-debug-config-ref.html)  | 


**Lambda (`"lambda"`) Eigenschaften**  

|  Property (Eigenschaft) | Description (Beschreibung) | 
| --- | --- | 
|  `environmentVariables`  |  Verwenden Sie , um Betriebsparameter an Ihre Funktion weiterzuleiten. Wenn Sie z. B. Daten in einen Amazon-S3-Bucket schreiben, konfigurieren Sie den Bucket-Namen als Umgebungsvariable. Verwenden Sie keine Hartkodierung für den Bucket-Namen, in den Sie schreiben.  | 
| `payload` |  Stellt zwei Optionen für die Ereignisnutzlast bereit, die Sie Ihrer Lambda -Funktion als Eingabe bereitstellen. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cloud9/latest/user-guide/sam-debug-config-ref.html)  | 
|  `memoryMB`  |  Gibt Megabyte an Speicher für die Ausführung einer aufgerufenen Lambda -Funktion an.  | 
| `runtime` |  Gibt die Laufzeitumgebung an, die von der Lambda-Funktion verwendet wird. Weitere Informationen finden Sie unter [AWS Lambda -Laufzeiten](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).  | 
|  `timeoutSec`  |  Legt die zulässige Zeit in Sekunden fest, bevor die Debug-Sitzung das Timeout überschreitet.  | 

Die AWS Toolkit-Erweiterung verwendet die AWS SAM CLI, um serverlose Anwendungen lokal zu erstellen und zu debuggen. Sie können das Verhalten von AWS SAM CLI-Befehlen mithilfe der Eigenschaften der `"sam"` Konfiguration in der `launch.json` Datei konfigurieren.


**AWS SAM CLI (`"sam"`) -Eigenschaften**  

| Property (Eigenschaft) |  Description (Beschreibung)  |  Standardwert  | 
| --- | --- | --- | 
|  `buildArguments`  | Konfiguriert, wie die `sam build` Ihren Lambda-Quellcode erstellt. Informationen zu Buildoptionen finden Sie unter [sam build](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-build.html) im *AWS Serverless Application Model Entwicklerhandbuch*. |  Leere Zeichenfolge  | 
|  `containerBuild`  |  Gibt an, ob Ihre Funktion in einem AWS Lambdaähnlichen Docker-Container erstellt werden soll.   |  `false`  | 
|  `dockerNetwork`  |  Der Name oder die ID eines vorhandenen Docker-Netzwerks, mit dem Lambda Docker-Container eine Verbindung herstellen sollen, mit dem Standard-Bridge-Netzwerk. Bei fehlender Angabe stellen die Lambda-Container nur eine Verbindung mit dem Standard-Bridge-Docker-Netzwerk her.   |  Leere Zeichenfolge  | 
|  `localArguments`  |  Zusätzliche lokale Aufruf-Argumente.  |  Leere Zeichenfolge  | 
|  `skipNewImageCheck`  |  Gibt an, ob der Befehl das Herunterladen des neuesten Docker-Images für die Lambda -Laufzeitumgebung überspringen soll.   |  `false`  | 
|  `template`  |  Passt die SAM-Vorlage an, indem Parameter verwendet werden, um Kundenwerte in sie einzugeben. Weitere Informationen finden Sie unter [Parameter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) im *AWS CloudFormation -Benutzerhandbuch*.  |  `"parameters":{}`  | 


**AWS Eigenschaften von connection (`"aws"`)**  

| Property (Eigenschaft) | Description (Beschreibung) | Standardwert | 
| --- | --- | --- | 
| `credentials` |  Wählt ein bestimmtes Profil (z. B.`profile:default`) aus Ihrer Anmeldeinformationsdatei aus, um AWS Anmeldeinformationen abzurufen.   | Die AWS Anmeldeinformationen, die in Ihrer vorhandenen gemeinsamen AWS Konfigurationsdatei oder Datei mit gemeinsam genutzten AWS Anmeldeinformationen bereitgestellt werden. | 
| `Region` |  Legt die AWS Region des Dienstes fest (z. B. us-east-1).  | Die AWS Standardregion, die dem aktiven Anmeldeinformationsprofil zugeordnet ist.  | 