CloudFront Ereignisse, die eine Lambda @Edge -Funktion auslösen können - 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.

CloudFront Ereignisse, die eine Lambda @Edge -Funktion auslösen können

Für jedes Cache-Verhalten in einer CloudFront Amazon-Distribution können Sie bis zu vier Trigger (Assoziationen) hinzufügen, die bewirken, dass eine Lambda-Funktion ausgeführt wird, wenn bestimmte CloudFront Ereignisse eintreten. CloudFront Trigger können auf einem von vier CloudFront Ereignissen basieren, wie in der folgenden Abbildung dargestellt.

Konzeptgrafik, die zeigt, wie CloudFront Triggerereignisse für Lambda-Funktionen in integriert CloudFront werden.

Die folgenden CloudFront Ereignisse können verwendet werden, um Lambda @Edge -Funktionen auszulösen:

Viewer-Anforderung

Die Funktion wird ausgeführt, wenn sie eine Anfrage von einem Viewer CloudFront erhält, bevor sie überprüft, ob sich das angeforderte Objekt im CloudFront Cache befindet.

Die Funktion wird in den folgenden Fällen nicht ausgeführt:

  • Beim Abrufen einer benutzerdefinierten Fehlerseite.

  • Wann leitet eine HTTP Anfrage CloudFront automatisch um HTTPS (wenn der Wert von Redirect HTTP to Viewer-Protokollrichtlinien lautetHTTPS).

Ursprungsanfrage

Die Funktion wird nur ausgeführt, wenn eine Anfrage an Ihren Ursprung CloudFront weitergeleitet wird. Wenn sich das angeforderte Objekt im CloudFront Cache befindet, wird die Funktion nicht ausgeführt.

Ursprungsantwort

Die Funktion wird ausgeführt, nachdem CloudFront sie eine Antwort vom Ursprung erhalten hat und bevor das Objekt in der Antwort zwischengespeichert wird. Beachten Sie, dass die Funktion auch dann ausgeführt wird, wenn ein Fehler vom Ursprung zurückgegeben wird.

Die Funktion wird in den folgenden Fällen nicht ausgeführt:

  • Wenn sich die angeforderte Datei im CloudFront Cache befindet und nicht abgelaufen ist.

  • Wenn die Antwort von einer Funktion generiert wird, die von einem Ursprungs-Anforderungsereignis ausgelöst wurde.

Viewer-Antwort

Diese Funktion wird ausgeführt, bevor die angeforderte Datei an den Viewer zurückgegeben wird. Beachten Sie, dass die Funktion unabhängig davon ausgeführt wird, ob sich die Datei bereits im CloudFront Cache befindet.

Die Funktion wird in den folgenden Fällen nicht ausgeführt:

  • Wenn der Ursprung einen HTTP Statuscode von 400 oder höher zurückgibt.

  • Wenn eine benutzerdefinierte Fehlerseite zurückgesendet wird.

  • Wenn die Antwort von einer Funktion generiert wird, die von einem Viewer-Anforderungsereignis ausgelöst wurde.

  • Wann leitet eine HTTP Anfrage CloudFront automatisch um HTTPS (wenn der Wert von Redirect HTTP to Viewer-Protokollrichtlinien lautetHTTPS).

Wenn Sie einem Cache-Verhalten mehrere Auslöser hinzufügen, können diese jeweils dieselbe oder verschiedene Funktionen für jeden Auslöser ausführen. Sie können Funktionen auch in mehreren Verteilungen zuweisen.

Anmerkung

Wenn ein CloudFront Ereignis die Ausführung einer Lambda-Funktion auslöst, muss die Funktion beendet werden, bevor sie fortgesetzt CloudFront werden kann.

Wenn beispielsweise eine Lambda-Funktion durch ein CloudFront Viewer-Anforderungsereignis ausgelöst CloudFront wird, wird keine Antwort an den Betrachter zurückgegeben oder die Anfrage an den Ursprung weitergeleitet, bis die Lambda-Funktion vollständig ausgeführt wurde.

Das bedeutet, dass jede Anfrage, die eine Lambda-Funktion auslöst, die Latenz für die Anfrage erhöht, sodass Sie möchten, dass die Funktion so schnell wie möglich ausgeführt wird.