

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.

# Erstellen von Funktionen
<a name="create-function"></a>

Sie erstellen eine Funktion in zwei Phasen: 

1. Erstellen Sie den Funktionscode als JavaScript. Sie können das Standardbeispiel aus der CloudFront-Konsole verwenden oder einen eigenen schreiben. Weitere Informationen finden Sie unter den folgenden Themen:
   + [Schreiben von Funktionscode](writing-function-code.md)
   + [CloudFront Funktionen, Ereignisstruktur](functions-event-structure.md)
   + [CloudFront Funktionen, Beispiele für CloudFront](service_code_examples_cloudfront_functions_examples.md)

1. Verwenden Sie CloudFront, um die Funktion zu erstellen und den Code einzufügen. Der Code ist innerhalb der Funktion vorhanden (nicht als Referenz).

------
#### [ Console ]

**Eine Funktion erstellen**

1. Melden Sie sich auf [https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions) bei der CloudFront-Konsole an und öffnen Sie die Seite **Funktionen**.

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

1. Geben Sie einen Funktionsnamen ein, der innerhalb des AWS-Konto eindeutig ist. Wählen Sie dann die JavaScript-Version aus und klicken Sie auf **Weiter**. Die Seite mit den Details der neuen Funktion wird angezeigt.
**Anmerkung**  
Wenn Sie [Schlüssel-Wert-Paare](kvs-with-functions.md) in der Funktion verwenden möchten, müssen Sie die JavaScript-Laufzeitumgebung 2.0 wählen.

1. Wählen Sie im Abschnitt **Funktionscode** die Registerkarte **Erstellen** aus und geben Sie Ihren Funktionscode ein. Der auf der Registerkarte **Erstellen** angezeigte Beispielcode veranschaulicht die grundlegende Syntax für den Funktionscode.

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

1. Wenn der Funktionscode Schlüssel-Wert-Paare verwendet, müssen Sie einen Schlüsselwertspeicher zuordnen. 

   Sie können den Schlüsselwertspeicher beim Erstellen der Funktion zuordnen. Sie können ihn auch später zuordnen, indem Sie [die Funktion aktualisieren](update-function.md). 

   Gehen Sie wie folgt vor, um jetzt einen Schlüsselwertspeicher zuzuordnen:
   + Wählen Sie im Abschnitt **KeyValueStore zuordnen** die Option **Vorhandenen KeyValueStore zuordnen** aus.
   + Wählen Sie den Schlüsselwertspeicher, der die Schlüssel-Wert-Paare in der Funktion enthält, und dann **KeyValueStore zuordnen** aus.

   CloudFront ordnet den Store sofort der Funktion zu. Sie müssen die Funktion nicht speichern.

------
#### [ CLI ]

Wenn Sie die CLI verwenden, erstellen Sie normalerweise zuerst den Funktionscode in einer Datei und dann die Funktion mit der AWS CLI.

**Eine Funktion erstellen**

1. Erstellen Sie den Funktionscode in einer Datei und speichern Sie ihn in einem Verzeichnis, mit dem Ihr Computer eine Verbindung herstellen kann. 

1. Führen Sie den Befehl wie im Beispiel veranschaulicht aus. In diesem Beispiel wird die Notation `fileb://` verwendet, um die Datei zu übergeben. Es sind Zeilenumbrüche enthalten, um den Befehl lesbarer zu machen. 

   ```
   aws cloudfront create-function \
       --name MaxAge \
       --function-config '{"Comment":"Max Age 2 years","Runtime":"cloudfront-js-2.0","KeyValueStoreAssociations":{"Quantity":1,"Items":[{"KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}]}}' \
       --function-code fileb://function-max-age-v1.js
   ```
**Hinweise**  
`Runtime` – die Version von Java Script. Wenn Sie [Schlüssel-Wert-Paare](kvs-with-functions.md) in der Funktion verwenden möchten, müssen Sie Version 2.0 angeben.
`KeyValueStoreAssociations` – Wenn Ihre Funktion Schlüssel-Wert-Paare verwendet, können Sie den Schlüsselwertspeicher beim Erstellen der Funktion zuordnen. Oder Sie können ihn später mit `update-function` zuordnen. Die `Quantity` ist immer `1`, weil jeder Funktion nur ein Schlüsselwertspeicher zugeordnet werden kann.

   Wenn der Befehl erfolgreich ausgeführt wurde, wird die Ausgabe folgendermaßen angezeigt.

   ```
   ETag: ETVABCEXAMPLE
   FunctionSummary:
     FunctionConfig:
       Comment: Max Age 2 years
       Runtime: cloudfront-js-2.0
       KeyValueStoreAssociations= \
         {Quantity=1, \
         Items=[{KeyValueStoreARN='arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]} \
     FunctionMetadata:
       CreatedTime: '2021-04-18T20:38:56.915000+00:00'
       FunctionARN: arn:aws:cloudfront::111122223333:function/MaxAge
       LastModifiedTime: '2023-11-19T20:38:56.915000+00:00'
       Stage: DEVELOPMENT
     Name: MaxAge
     Status: UNPUBLISHED
   Location: https://cloudfront.amazonaws.com/2020-05-31/function/arn:aws:cloudfront:::function/MaxAge
   ```

   Die meisten Informationen werden aus der Anfrage wiederholt. Andere Informationen werden von CloudFront hinzugefügt.
**Hinweise**  
`ETag` – Dieser Wert ändert sich jedes Mal, wenn Sie den Schlüsselwertspeicher ändern. Sie verwenden diesen Wert und den Funktionsnamen, um in Zukunft auf die Funktion zu verweisen. Stellen Sie sicher, dass Sie immer das aktuelle `ETag` verwenden.
`FunctionARN` – der ARN für Ihre CloudFront-Funktion.
111122223333 – das AWS-Konto.
`Stage` – die Phase der Funktion (`LIVE` oder `DEVELOPMENT`) 
`Status` – der Status der Funktion (`PUBLISHED` oder `UNPUBLISHED`)

------

Nachdem Sie die Funktion erstellt haben, wird sie der Phase `DEVELOPMENT` hinzugefügt. Wir empfehlen Ihnen, [Ihre Funktion zu testen](test-function.md), bevor Sie sie [veröffentlichen](publish-function.md). Nachdem Sie Ihre Funktion veröffentlicht haben, wechselt sie zur Phase `LIVE`.