

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.

# Schreiben und Erstellen einer Lambda@Edge-Funktion
<a name="lambda-edge-create-function"></a>

Um Lambda@Edge zu verwenden, *schreiben* Sie den Code für Ihre AWS Lambda -Funktion. Weitere Informationen zum Schreiben von Lambda@Edge-Funktionen finden Sie in den folgenden Ressourcen:
+  [Lambda@Edge-Ereignisstruktur](lambda-event-structure.md) – Informationen zur Ereignisstruktur, die Sie für Lambda@Edge verwenden
+ [Beispielfunktionen für Lambda@Edge](lambda-examples.md)— Beispielfunktionen wie A/B Testen und Generieren einer HTTP-Umleitung.

Das Programmiermodell für die Verwendung von Node.js mit Lambda@Edge entspricht der Verwendung von Lambda in einer AWS-Region. Weitere Informationen finden Sie unter [Erstellen von Lambda-Funktionen mit Node.js](https://docs.aws.amazon.com/lambda/latest/dg/lambda-nodejs.html) oder [Erstellen von Lambda-Funktionen mit Python](https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html) im *Entwicklerhandbuch für AWS Lambda *.

Nehmen Sie in Ihre Lambda@Edge-Funktion den `callback`-Parameter auf und geben Sie das entsprechende Objekt für Anforderung- oder Antwortereignisse zurück:
+ **Request events (Anfrageereignisse)** – Schließen Sie das `cf.request`-Objekt in die Antwort ein.

  Wenn Sie eine Antwort generieren, schließen Sie das Objekt `cf.response` in die Antwort ein. Weitere Informationen finden Sie unter [Generieren von HTTP-Antworten in Anforderungsauslösern](lambda-generating-http-responses.md#lambda-generating-http-responses-in-requests). 
+ **Response events (Antwortereignisse)**: Schließen Sie das `cf.response`-Objekt in die Antwort ein.

Nachdem Sie Ihren eigenen Code geschrieben oder eines der Beispiele verwendet haben, erstellen Sie die Funktion in Lambda. Informationen zum Erstellen oder Bearbeiten einer vorhandenen Funktion finden Sie in den folgenden Themen:

**Topics**
+ [Erstellen einer Lambda@Edge-Funktion](lambda-edge-create-in-lambda-console.md)
+ [Bearbeiten einer Lambda-Funktion](lambda-edge-edit-function.md)

 *Nachdem Sie die Funktion in Lambda erstellt haben, richten Sie Lambda so ein, dass die Funktion auf der Grundlage bestimmter CloudFront Ereignisse ausgeführt wird, die als Trigger bezeichnet werden.* Weitere Informationen finden Sie unter [Hinzufügen von Auslösern für eine Lambda@Edge-Funktion](lambda-edge-add-triggers.md).

# Erstellen einer Lambda@Edge-Funktion
<a name="lambda-edge-create-in-lambda-console"></a>

Gehen Sie wie folgt vor AWS Lambda , um die Ausführung von Lambda-Funktionen einzurichten, die auf CloudFront Ereignissen basieren.<a name="lambda-edge-create-function-procedure"></a>

**So erstellen Sie eine Lambda@Edge-Funktion**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Lambda Konsole unter [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Wenn Sie bereits über eine oder mehrere Lambda-Funktionen verfügen, wählen Sie **Create function**.

   Wenn Sie nicht über Funktionen verfügen, wählen Sie **Get Started Now**.

1. Wählen Sie oben auf der Seite in der Liste „Region“ die Option **US Ost (Nord-Virginia)** aus.

1. Erstellen Sie eine Funktion mit Ihrem eigenen Code oder erstellen Sie eine Funktion, die mit einer CloudFront -Vorlage beginnt.
   + Um eine Funktion mit Ihrem eigenen Code zu erstellen, wählen Sie **Author from scratch**. 
   + **Um eine Liste mit Blueprints für anzuzeigen CloudFront, geben Sie **Cloudfront** in das Filterfeld ein und wählen Sie dann Enter.**

     Wenn Sie eine dieser Vorlagen verwenden möchten, wählen Sie den Namen der entsprechenden Vorlage.

1. Geben Sie im Abschnitt **Basic information** folgende Werte ein:

   1. **Name** – Geben Sie einen Namen für die Funktion ein.

   1. **Rolle** – Um schnell loszulegen, wählen Sie **Neue Rolle aus Vorlage(n) erstellen**. Sie können auch **Vorhandene Rolle auswählen** oder **Benutzerdefinierte Rolle erstellen** auswählen und dann den Prompts folgen, um die Informationen für diesen Abschnitt zu vervollständigen.

   1. **Rollenname** – Geben Sie einen Namen für die Rolle ein.

   1. **Richtlinienvorlagen** – Wählen Sie **Grundlegende Edge-Lambda-Berechtigungen** aus.

1. Wenn Sie in Schritt 4 **Author from scratch** gewählt haben, fahren Sie mit Schritt 7 fort.

   Wenn Sie in Schritt 4 einen Blueprint ausgewählt haben, können Sie im Abschnitt **Cloudfront** einen Trigger erstellen, der diese Funktion einem Cache in einer CloudFront Verteilung und einem Ereignis zuordnet. CloudFront Wir empfehlen, an dieser Stelle **Remove** zu wählen, damit es bei der Erstellung der Funktionen keinen Auslöser gibt. Sie können Auslöser zu einem späteren Zeitpunkt hinzufügen. 
**Tipp**  
Wir empfehlen Ihnen, die Funktion zu testen und zu debuggen, bevor Sie Auslöser hinzufügen. Wenn Sie jetzt einen Trigger hinzufügen, wird die Funktion ausgeführt, sobald Sie die Funktion erstellt haben. Die Replikation an AWS Standorte auf der ganzen Welt ist abgeschlossen und die entsprechende Distribution wird bereitgestellt.

1. Wählen Sie **Funktion erstellen**.

   Lambda erstellt zwei Versionen Ihrer Funktion: \$1LATEST und Version 1. Sie können nur die Version \$1LATEST bearbeiten, die Konsole zeit jedoch zunächst Version 1 an.

1. Um die Funktion zu bearbeiten, wählen Sie **Version 1** oben auf der Seite, unter dem ARN für die Funktion. Wählen Sie anschließend auf der Registerkarte **Versions** die Option **\$1LATEST**. (Wenn Sie die Funktion verlassen haben und anschließend zurückgekehrt sind, lautet die Bezeichnung der Schaltfläche **Qualifiers**.)

1. Wählen Sie auf der Registerkarte **Configuration** den geeigneten Wert für **Code entry type**. Folgen Sie dann den Eingabeaufforderungen, um Ihren Code zu bearbeiten oder hochzuladen.

1. Wählen Sie den Wert für **Runtime (Laufzeit)** basierend auf dem Code der Funktion.

1. Fügen Sie im Bereich **Tags** geeignete Tags hinzu.

1. Wählen Sie **Actions** und dann **Publish new version**.

1. Geben Sie eine Beschreibung für die neue Version der Funktion ein.

1. Wählen Sie **Publish**.

1. Testen und debuggen Sie die Funktion. Weitere Informationen zu den Tests in der Lambda-Konsole finden Sie unter [Aufrufen einer Lambda-Funktion mit der Konsole](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html#get-started-invoke-manually) im *Entwicklerhandbuch für AWS Lambda *.

1. Wenn Sie bereit sind, die Funktion für CloudFront Ereignisse auszuführen, veröffentlichen Sie eine weitere Version und bearbeiten Sie die Funktion, um Trigger hinzuzufügen. Weitere Informationen finden Sie unter [Hinzufügen von Auslösern für eine Lambda@Edge-Funktion](lambda-edge-add-triggers.md).

# Bearbeiten einer Lambda-Funktion
<a name="lambda-edge-edit-function"></a>

Nachdem Sie eine Lambda@Edge-Funktion erstellt haben, können Sie sie anhand der Lambda-Konsole bearbeiten.

**Hinweise**  
Die Originalversion ist mit \$1LATEST gekennzeichnet.
Sie können nur die \$1LATEST-Version bearbeiten.
Jedes Mal, wenn Sie die \$1LATEST-Version bearbeiten, müssen Sie eine neue nummerierte Version veröffentlichen.
Sie können keine Auslöser für \$1LATEST erstellen.
Wenn Sie eine neue Version einer Funktion veröffentlichen, kopiert Lambda nicht automatisch Auslöser von der vorherigen Version zur neuen Version. Sie müssen die Auslöser für die neue Version reproduzieren. 
Wenn Sie einer Funktion einen Trigger für ein CloudFront Ereignis hinzufügen und es bereits einen Trigger für dieselbe Verteilung, dasselbe Cache-Verhalten und dasselbe Ereignis für eine frühere Version derselben Funktion gibt, löscht Lambda den Trigger aus der früheren Version.
Nachdem Sie Aktualisierungen an einer CloudFront Verteilung vorgenommen haben, z. B. Trigger hinzugefügt haben, müssen Sie warten, bis die Änderungen an den Edge-Standorten wirksam werden, bevor die Funktionen, die Sie in den Triggern angegeben haben, funktionieren.<a name="lambda-edge-edit-function-procedure"></a>

**So bearbeiten Sie eine Lambda-Funktion**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Lambda Konsole unter [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Wählen Sie oben auf der Seite in der Liste „Region“ die Option **US Ost (Nord-Virginia)** aus.

1. Wählen Sie in der Liste der Funktionen den Namen der Funktion aus.

   Die Konsole zeigt standardmäßig die \$1LATEST-Version an. Sie können frühere Versionen anzeigen (wählen Sie **Qualifiers**), aber Sie können nur \$1LATEST bearbeiten.

1. Wählen Sie auf der Registerkarte **Code** für **Code entry type (Code-Eingabetyp)** die Bearbeitung des Codes im Browser, laden Sie eine .zip-Datei hoch oder laden Sie eine Datei aus Amazon S3 hoch.

1. Wählen Sie entweder **Save** oder **Save and test**.

1. Wählen Sie **Actions** und **Publish new version**. 

1. Geben Sie im Dialogfeld **Publish new version from \$1LATEST** eine Beschreibung der neuen Version ein. Diese Beschreibung wird in der Liste der Versionen zusammen mit einer automatisch generierten Versionsnummer angezeigt. 

1. Wählen Sie **Publish**.

   Die neue Version wird automatisch die aktuelle Version. Die Versionsnummer wird unter **Version** oben links auf der Seite angezeigt.
**Anmerkung**  
Wenn Sie noch keine Auslöser für die Funktion hinzugefügt haben, finden Sie Informationen hierzu unter [Hinzufügen von Auslösern für eine Lambda@Edge-Funktion](lambda-edge-add-triggers.md). 

1. Wählen Sie die Registerkarte **Triggers**.

1. Wählen Sie **Add trigger**.

1. Wählen Sie im Dialogfeld **Add trigger** das Feld mit Punkten und dann **CloudFront**.
**Anmerkung**  
Wenn Sie bereits einen oder mehrere Auslöser für eine Funktion erstellt haben, CloudFront ist dies der Standarddienst.

1. Geben Sie die folgenden Werte an, um anzugeben, wann die Lambda-Funktion ausgeführt werden soll.

   1. **Distributions-ID** – Wählen Sie die ID der Distribution, der Sie den Auslöser hinzufügen möchten.

   1. **Cacheverhalten** – Wählen Sie das Cacheverhalten, das die Objekte angibt, für die Sie die Funktion ausführen möchten.

   1. **CloudFront Ereignis** — Wählen Sie das CloudFront Ereignis aus, das die Ausführung der Funktion veranlasst.

   1. **Auslöser aktivieren und replizieren** – Markieren Sie dieses Kontrollkästchen, sodass Lambda die Funktionen in AWS-Regionen weltweit repliziert.

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

1. Um weitere Auslöser für diese Funktion hinzuzufügen, wiederholen Sie die Schritte 10 bis 13.

Weitere Informationen zum Testen und Debuggen der Funktion in der Lambda-Konsole finden Sie unter [Aufrufen einer Lambda-Funktion mit der Konsole](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html#get-started-invoke-manually) im *Entwicklerhandbuch für AWS Lambda *.

Wenn Sie bereit sind, die Funktion bei CloudFront Ereignissen ausführen zu lassen, veröffentlichen Sie eine weitere Version und bearbeiten Sie die Funktion, um Auslöser hinzuzufügen. Weitere Informationen finden Sie unter [Hinzufügen von Auslösern für eine Lambda@Edge-Funktion](lambda-edge-add-triggers.md).