

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.

# Tutorial: Erstellen einer einfachen Funktion mit CloudFront Functions
<a name="functions-tutorial"></a>

Dieses Tutorial erläutert die ersten Schritte mit CloudFront Functions. Sie können eine einfache Funktion erstellen, die den Viewer auf eine andere URL umleitet und einen benutzerdefinierten Antwortheader zurückgibt.

**Contents**
+ [Voraussetzungen](#functions-tutorial-prerequisites)
+ [Erstellen der Funktion](#functions-tutorial-create)
+ [Verifizieren der Funktion](#functions-tutorial-verify)

## Voraussetzungen
<a name="functions-tutorial-prerequisites"></a>

Um CloudFront Functions nutzen zu können, benötigen Sie eine CloudFront-Verteilung. Falls Sie keines haben, finden Sie weitere Informationen unter [Beginnen Sie mit einer CloudFront Standarddistribution](GettingStarted.SimpleDistribution.md).

## Erstellen der Funktion
<a name="functions-tutorial-create"></a>

Sie können mit der CloudFront-Konsole eine einfache Funktion erstellen, die den Viewer auf eine andere URL umleitet und auch einen benutzerdefinierten Antwortheader zurückgibt. 

**So erstellen Sie eine CloudFront-Funktion**

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

1. Wählen Sie im linken Navigationsbereich **Funktionen** und dann **Funktion erstellen**. 

1. Geben Sie auf der Seite **Funktion erstellen** unter **Name** einen Funktionsnamen wie *MyFunctionName* ein.

1. (Optional) Sie können im Feld **Beschreibung** eine Beschreibung für die Funktion eingeben, wie z. B. **Simple test function**.

1. Behalten Sie für **Laufzeit** die standardmäßig ausgewählte JavaScript-Version bei.

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

1. Kopieren Sie den folgenden Funktionscode. Dieser Funktionscode leitet den Betrachter auf eine andere URL um und gibt auch einen benutzerdefinierten Antwortheader zurück.

   ```
   function handler(event) {
       // NOTE: This example function is for a viewer request event trigger. 
       // Choose viewer request for event trigger when you associate this function with a distribution. 
       var response = {
           statusCode: 302,
           statusDescription: 'Found',
           headers: {
               'cloudfront-functions': { value: 'generated-by-CloudFront-Functions' },
               'location': { value: 'https://aws.amazon.com/cloudfront/' }
           }
       };
       return response;
   }
   ```

1. Fügen Sie für **Funktionscode** den Code in den Code-Editor ein, um den Standardcode zu ersetzen.

1. Wählen Sie **Änderungen speichern ** aus.

1. (Optional) Sie können die Funktion testen, bevor Sie sie veröffentlichen. In diesem Tutorial wird nicht beschrieben, wie eine Funktion getestet wird. Weitere Informationen finden Sie unter [Testfunktionen](test-function.md).

1. Wählen Sie die Registerkarte **Veröffentlichen** und dann **Funktion veröffentlichen** aus. Sie *müssen* die Funktion veröffentlichen, bevor Sie sie Ihrer CloudFront-Distribution zuordnen können.

1. Als Nächstes können Sie die Funktion einer Distribution oder einem Cacheverhalten zuordnen. Wählen Sie auf der Seite *MyFunctionName* die Registerkarte **Veröffentlichen** aus. 
**Warnung**  
In den folgenden Schritten wählen Sie eine Distribution oder ein Cacheverhalten zum Testen. Verknüpfen Sie diese Testfunktion nicht mit einer Distribution oder einem Cacheverhalten, die bzw. das in der Produktion verwendet wird.

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

1. Wählen Sie im Dialogfeld **Zuordnen** eine Distribution und/oder ein Cacheverhalten aus. Behalten Sie im Feld **Ereignistyp** den Standardwert bei.

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

   In der Tabelle **Zugeordnete Verteilungen** wird die zugeordnete Verteilung angezeigt. 

1. Warten Sie ein paar Minuten, bis die zugehörige Verteilung die Bereitstellung abgeschlossen hat. Um den Status der Distribution zu überprüfen, wählen Sie die Distribution in der Tabelle **Zugeordnete Distributionen** und dann **Distribution anzeigen** aus.

   Wenn der Status der Verteilung **Bereitgestellt** lautet, können Sie überprüfen, ob die Funktion funktioniert.

## Verifizieren der Funktion
<a name="functions-tutorial-verify"></a>

Nachdem Sie die Funktion bereitgestellt haben, können Sie überprüfen, ob sie für Ihre Distribution funktioniert.

**So verifizieren Sie die Funktion**

1. Navigieren Sie im Webbrowser zum Domainnamen Ihrer Distribution (z. B. `https://d111111abcdef8.cloudfront.net`).

   Die Funktion gibt eine Umleitung an den Browser zurück, sodass der Browser automatisch an weitergeleitet wir `https://aws.amazon.com/cloudfront/`.

1. In einem Befehlszeilenfenster können Sie ein Tool wie **curl** verwenden, um eine Anforderung an den Domainnamen Ihrer Distribution zu senden.

   ```
   curl -v https://d111111abcdef8.cloudfront.net/
   ```

   In der Antwort werden die Umleitungsantwort (`302 Found`) und die benutzerdefinierten Antwortheader, die die Funktion hinzugefügt hat, angezeigt. Das folgende Beispiel zeigt, wie die Anforderung aussehen kann.  
**Example**  

   ```
   curl -v https://d111111abcdef8.cloudfront.net/
   > GET / HTTP/1.1
   > Host: d111111abcdef8.cloudfront.net
   > User-Agent: curl/7.64.1
   > Accept: */*
   >
   < HTTP/1.1 302 Found
   < Server: CloudFront
   < Date: Tue, 16 Mar 2021 18:50:48 GMT
   < Content-Length: 0
   < Connection: keep-alive
   < Location: https://aws.amazon.com/cloudfront/
   < Cloudfront-Functions: generated-by-CloudFront-Functions
   < X-Cache: FunctionGeneratedResponse from cloudfront
   < Via: 1.1 3035b31bddaf14eded329f8d22cf188c.cloudfront.net (CloudFront)
   < X-Amz-Cf-Pop: PHX50-C2
   < X-Amz-Cf-Id: ULZdIz6j43uGBlXyob_JctF9x7CCbwpNniiMlmNbmwzH1YWP9FsEHg==
   ```