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.
Verknüpfen von Funktionen mit Distributionen
Um eine Funktion mit einer Distribution zu verwenden, verknüpfen Sie die Funktion einem oder mehreren Cacheverhalten in der Distribution. Sie können eine Funktion mit mehreren Cache-Verhaltensweisen in mehreren Verteilungen verknüpfen.
Sie können eine Funktion den folgenden Verhaltensweisen zuordnen:
-
einem vorhandenen Cacheverhalten
-
einem neuen Cacheverhalten in einer vorhandenen Distribution
-
einem neuen Cacheverhalten in einer neuen Distribution
Wenn Sie eine Funktion mit einem Cache-Verhalten verknüpfen, müssen Sie einen Ereignistyp auswählen. Der Ereignistyp bestimmt, wann CloudFront die Funktion ausführt.
Sie können aus den folgenden Ereignistypen auswählen:
-
Betrachteranfrage – Die Funktion wird ausgeführt, wenn CloudFront eine Anfrage von einem Betrachter erhält.
-
Betrachterantwort – Die Funktion wird ausgeführt, bevor CloudFront eine Antwort an den Betrachter zurückgibt.
Sie können keine Ursprungsereignistypen (Ursprungsanforderung und Ursprungsantwort) mit CloudFront Functions verwenden. Stattdessen können Sie Lambda@Edge verwenden. Weitere Informationen finden Sie unter CloudFront Ereignisse, die eine Lambda @Edge -Funktion auslösen können.
Bevor Sie eine Funktion verknüpfen, müssen Sie sie in der LIVE-Phase veröffentlichen.
Sie können eine Funktion mit einer Distribution in der CloudFront-Konsole oder mit der AWS Command Line Interface (AWS CLI) verknüpfen. Das folgende Verfahren zeigt, wie eine Funktion mit einem vorhandenen Cache-Verhalten verknüpft wird.
- Console
-
So verknüpfen Sie eine Funktion mit einem vorhandenen Cacheverhalten
-
Melden Sie sich auf https://console.aws.amazon.com/cloudfront/v4/home#/functions bei der CloudFront-Konsole an und öffnen Sie die Seite Funktionen.
-
Wählen Sie die Funktion aus, die Sie verknüpfen möchten.
-
Wählen Sie auf der Seite Funktion die Registerkarte Veröffentlichen aus.
-
Wählen Sie die Funktion „Veröffentlichen“ aus.
-
Wählen Sie Add association. Wählen Sie im daraufhin angezeigten Dialogfeld eine Distribution, einen Ereignistyp und/oder ein Cacheverhalten aus.
Wählen Sie für den Ereignistyp aus, wann diese Funktion ausgeführt werden soll:
-
Viewer-Anforderung – Die Funktion wird jedes Mal ausgeführt, wenn CloudFront eine Anforderung erhält.
-
Viewer-Antwort – Die Funktion wird jedes Mal ausgeführt, wenn CloudFront eine Antwort zurückgibt.
-
Um die Konfiguration zu speichern, wählen Sie Zuordnung hinzufügen.
CloudFront ordnet die Verteilung der Funktion zu. Warten Sie ein paar Minuten, bis die zugehörige Verteilung die Bereitstellung abgeschlossen hat. Sie können auf der Seite mit den Funktionsdetails die Option Distribution anzeigen auswählen, um den Fortschritt zu überprüfen.
- CLI
-
So verknüpfen Sie eine Funktion mit einem vorhandenen Cacheverhalten
-
Öffnen Sie ein Befehlszeilenfenster.
-
Geben Sie den folgenden Befehl ein, um die Distributionskonfiguration für die Distribution zu speichern, deren Cacheverhalten Sie einer Funktion zuordnen möchten. Dieser Befehl speichert die Verteilungskonfiguration in einer Datei mit dem Namen dist-config.yaml. Um diesen Befehl zu verwenden, gehen Sie folgendermaßen vor:
-
Ersetzen Sie DistributionID durch die ID der Verteilung.
-
Führen Sie den Befehl in einer Zeile aus. Im Beispiel werden Zeilenumbrüche bereitgestellt, um das Beispiel besser lesbar zu machen.
aws cloudfront get-distribution-config \
--id DistributionID \
--output yaml > dist-config.yaml
Wenn der Befehl erfolgreich ist, gibt die AWS CLI keine Ausgabe zurück.
-
Öffnen Sie die Datei mit dem Namen dist-config.yaml, die Sie erstellt haben. Bearbeiten Sie die Datei, indem Sie die folgenden Änderungen vornehmen.
-
Benennen Sie das ETag-Feld in IfMatch um, ändern Sie jedoch nicht den Wert des Feldes.
-
Suchen Sie im Cache-Verhalten das Objekt mit dem Namen FunctionAssociations. Aktualisieren Sie dieses Objekt, um eine Funktionszuordnung hinzuzufügen. Die YAML-Syntax für eine Funktionszuordnung sieht wie im folgenden Beispiel aus.
-
Das folgende Beispiel zeigt den Ereignistyp Betrachteranfrage (Auslöser). Um den Ereignistyp Betrachterantwort zu verwenden, ersetzen Sie viewer-request durch viewer-response.
-
Ersetzen Sie arn:aws:cloudfront::111122223333:function/ExampleFunction durch den Amazon-Ressourcennamen (ARN) der Funktion, die Sie diesem Cache-Verhalten zuordnen. Um die Funktion ARN zu erhalten, können Sie den Befehl aws cloudfront
list-functions verwenden.
FunctionAssociations:
Items:
- EventType: viewer-request
FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction
Quantity: 1
-
Nachdem Sie diese Änderungen vorgenommen haben, speichern Sie die Datei.
-
Verwenden Sie den folgenden Befehl, um die Verteilung zu aktualisieren und die Funktionszuordnung hinzuzufügen. Um diesen Befehl zu verwenden, gehen Sie folgendermaßen vor:
-
Ersetzen Sie DistributionID durch die ID der Verteilung.
-
Führen Sie den Befehl in einer Zeile aus. Im Beispiel werden Zeilenumbrüche bereitgestellt, um das Beispiel besser lesbar zu machen.
aws cloudfront update-distribution \
--id DistributionID \
--cli-input-yaml file://dist-config.yaml
Wenn der Befehl erfolgreich ist, sehen Sie eine Ausgabe wie die folgende, die die Verteilung beschreibt, die gerade mit der Funktionszuordnung aktualisiert wurde. Die folgende Beispielausgabe wird zur besseren Lesbarkeit abgeschnitten.
Distribution:
ARN: arn:aws:cloudfront::111122223333:distribution/EBEDLT3BGRBBW
... truncated ...
DistributionConfig:
... truncated ...
DefaultCacheBehavior:
... truncated ...
FunctionAssociations:
Items:
- EventType: viewer-request
FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction
Quantity: 1
... truncated ...
DomainName: d111111abcdef8.cloudfront.net
Id: EDFDVBD6EXAMPLE
LastModifiedTime: '2021-04-19T22:39:09.158000+00:00'
Status: InProgress
ETag: E2VJGGQEG1JT8S
Der Status der Verteilung ändert sich in InProgress während der erneuten Bereitstellung der Verteilung. Wenn die neue Distributionskonfiguration einen CloudFront-Edge-Standort erreicht, beginnt dieser Edge-Standort mit der Verwendung der zugehörigen Funktion. Wenn die Distribution vollständig bereitgestellt ist, ändert sich der Status wieder in Deployed. Dies weist darauf hin, dass die zugehörige CloudFront-Funktion an allen CloudFront-Edge-Standorten weltweit aktiv ist. Dies dauert in der Regel einige Minuten.