Beschreibung einer Methode zur Entscheidung, welches CloudFront-Ereignis verwendet werden soll, um eine Lambda-Funktion auszulösen. - Amazon CloudFront

Beschreibung einer Methode zur Entscheidung, welches CloudFront-Ereignis verwendet werden soll, um eine Lambda-Funktion auszulösen.

Wenn Sie festlegen, welches CloudFront-Ereignis eine Lambda-Funktion auslösen soll, berücksichtigen Sie Folgendes:

Soll CloudFront Objekte zwischenspeichern, die von einer Lambda-Funktion geändert werden?

Wenn Sie möchten, dass von einer Lambda-Funktion geänderte Objekte von CloudFront zwischengespeichert werden, damit CloudFront das Objekt bei der nächsten Anforderung über den Edge-Standort abrufen kann, verwenden Sie das Ursprungsanfragen- bzw. Ursprungsantwortereignis. Dadurch verringert sich die Verarbeitungslast für den Ursprung, die Latenz für nachfolgende Anforderungen wird verringert und die Kosten für den Aufruf von Lambda@Edge für nachfolgende Anforderungen reduziert.

Wenn Sie beispielsweise Header für Objekte hinzufügen, entfernen oder ändern möchten, die vom Ursprung zurückgegeben werden, und CloudFront das Ergebnis im Zwischenspeicher speichern soll, verwenden Sie die Ursprungsantwortereignis.

Möchten Sie, dass die Funktion für jede Anforderung ausgeführt wird?

Wenn Sie möchten, dass die Funktion für jede Anforderung ausgeführt wird, die CloudFront für die Verteilung erhält, verwenden Sie die Viewer-Anfrage- oder Viewer-Antwortereignisse. Ursprungsanfragen- und -antwortereignisse treten nur dann ein, wenn ein angefordertes Objekt nicht an dem Edge-Standort zwischengespeichert ist und CloudFront eine Anforderung an den Ursprungs-Server weiterleitet.

Ändert die Funktion den Cache-Schlüssel?

Wenn Sie möchten, dass die Funktion einen Wert ändert, den auf dessen Grundlage Sie zwischenspeichern, verwenden Sie das Viewer-Anfrageereignis. Wenn beispielsweise eine Funktion eine URL so ändert, dass Abkürzungen für die Sprachversionen in den Pfad eingebunden werden (zum Beispiel, weil der Benutzer seine Sprache aus einer Dropdown-Liste ausgewählt hat), verwenden Sie das Viewer-Anfrageereignis:

  • URL in der Viewer-Anfrage – http://example.com/en/index.html

  • URL, wenn die Anforderung von einer IP-Adresse in Deutschland kommt – http://example.com/de/index.html

Sie können Viewer-Anfrageereignisse auch verwenden, wenn die Zwischenspeicherung auf der Basis von Cookies oder Anfrageereignissen erfolgt.

Anmerkung

Wenn die Funktion Cookies oder Header modifiziert, konfigurieren Sie CloudFront so, dass die entsprechende Komponente der Anfrage an den Ursprung weitergeleitet wird. Weitere Informationen finden Sie unter den folgenden Themen:

Wirkt sich die Funktion auf die Antwort vom Ursprung aus?

Wenn die Funktion die Anfrage die Antwort so modifizieren soll, dass sich die Antwort vom Ursprung ändert, verwenden Sie das Ursprungsanfrageereignis. Normalerweise werden Viewer-Anfrageereignisse nicht an den Ursprung weitergeleitet. Stattdessen antwortet CloudFront mit einem Objekt, das sich bereits im Edge-Zwischenspeicher befindet. Wenn die Funktion die Anfrage auf der Grundlage eines Ursprungsanfrageereignisses modifiziert, speichert CloudFront die Antwort auf die modifizierte Ursprungsanfrage zwischen.