View a markdown version of this page

Erstellen von Funktionen - Amazon CloudFront

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

Sie erstellen eine Funktion in zwei Phasen:

  1. Erstellen Sie den Funktionscode als JavaScript. Sie können das Standardbeispiel von der CloudFront Konsole aus verwenden oder ein eigenes schreiben. Weitere Informationen finden Sie unter den folgenden Themen:

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

Console
Eine Funktion erstellen
  1. Melden Sie sich bei der CloudFront Konsole unter an https://console.aws.amazon.com/cloudfront/v4/home#/functions und wählen Sie die Seite Funktionen aus.

  2. Wählen Sie Funktion erstellen.

  3. Geben Sie einen Funktionsnamen ein, der innerhalb von eindeutig ist AWS-Konto, wählen Sie die JavaScript Version aus und klicken Sie dann auf Weiter. Die Seite mit den Details der neuen Funktion wird angezeigt.

    Anmerkung

    Um Schlüssel-Wert-Paare in der Funktion zu verwenden, müssen Sie JavaScript Runtime 2.0 wählen.

    Wenn beim Erstellen einer Funktion mit Tags ein Fehler TaggingConflict (HTTP 409) auftritt, warten Sie einige Minuten und versuchen Sie es erneut, oder erstellen Sie die Funktion zunächst ohne Tags und fügen Sie sie anschließend hinzu.

  4. 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.

  5. Wählen Sie Änderungen speichern aus.

  6. 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.

    Gehen Sie wie folgt vor, um jetzt einen Schlüsselwertspeicher zuzuordnen:

    • Gehen Sie zum KeyValueStore Bereich Assoziieren und wählen Sie Vorhandenes zuordnen aus. KeyValueStore

    • Wählen Sie den Schlüsselwertspeicher aus, der die Schlüssel-Wert-Paare in der Funktion enthält, und wählen Sie dann Assoziieren aus. KeyValueStore

    CloudFront ordnet den Speicher 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.

  2. 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 JavaScript. Wenn Sie Schlüssel-Wert-Paare 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. Weitere Informationen werden hinzugefügt von CloudFront.

    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, bevor Sie sie veröffentlichen. Nachdem Sie Ihre Funktion veröffentlicht haben, wechselt sie zur Phase LIVE.

TaggingConflict Fehler beim Erstellen von Funktionen

CloudFront Funktionen werden ARNs für Funktionen mit demselben Namen wiederverwendet. Beim Erstellen einer Funktion mit Tags kann ein Fehler TaggingConflict (HTTP 409) auftreten. Dies kann in den folgenden Szenarien auftreten:

  • Nach dem Löschen einer Funktion — Eine Funktion mit demselben Namen und denselben Tags wird unmittelbar nach dem Löschen neu erstellt.

  • Nach einem fehlgeschlagenen Erstellungsversuch — Wenn eine vorherige Erstellungsanforderung fehlschlug (z. B. aufgrund ungültiger Parameter, ungültiger KVS-Assoziation oder eines fehlgeschlagenen CloudFormation Stack-Rollbacks).

Wenn Sie eine TaggingConflict Fehlermeldung erhalten, können Sie:

  • Warten Sie einige Minuten und wiederholen Sie den Vorgang.

  • Verwenden Sie einen anderen Funktionsnamen. Dadurch wird der ARN-Wiederverwendungskonflikt vollständig vermieden.

  • Wenn Ihre Vorlage KeyValueStore sowohl eine Funktion als auch eine Funktion erstellt, die darauf verweist, fügen Sie eine explizite Funktion hinzu, DependsOn um sicherzustellen, dass das KVS vollständig bereitgestellt ist, bevor die Funktion erstellt wird.