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.
Testfunktionen
Bevor Sie die Funktion in der Live-Phase (Produktion) bereitstellen, können Sie sie testen, um sicherzustellen, dass sie wie vorgesehen funktioniert. Um eine Funktion zu testen, geben Sie ein Ereignisobjekt an, das eine HTTP-Anfrage oder -Antwort darstellt, die Ihre CloudFront Distribution in der Produktion erhalten könnte.
CloudFront Functions macht Folgendes:
-
Führt die Funktion aus, wobei das bereitgestellte Ereignisobjekt als Eingabe verwendet wird.
-
Gibt das Ergebnis der Funktion (das geänderte Ereignisobjekt) zusammen mit allen Funktionsprotokollen oder Fehlermeldungen und der Rechenauslastung der Funktion zurück. Weitere Informationen zur Computing-Nutzung finden Sie unter Informationen zur Rechenauslastung.
Anmerkung
Wenn Sie eine Funktion testen, überprüft sie CloudFront nur anhand von Fehlern bei der Funktionsausführung. CloudFrontüberprüft nicht, ob die Anfrage nach der Veröffentlichung erfolgreich bearbeitet wird. Wenn Ihre Funktion beispielsweise einen erforderlichen Header löscht, ist der Test erfolgreich, da kein Problem mit dem Code vorliegt. Wenn Sie die Funktion jedoch veröffentlichen und sie einer Verteilung zuordnen, schlägt die Funktion fehl, wenn eine Anfrage gestellt wurde CloudFront.
Einrichten des Ereignisobjekts
Bevor Sie eine Funktion testen, müssen Sie das Ereignisobjekt einrichten, mit dem Sie sie testen können. Es gibt mehrere Möglichkeiten, dies zu tun.
- Option 1: Einrichten eines Ereignisobjekts, ohne es zu speichern
-
Sie können ein Ereignisobjekt im Visual Editor in der CloudFront Konsole einrichten, ohne es zu speichern.
Sie können dieses Ereignisobjekt verwenden, um die Funktion von der CloudFront Konsole aus zu testen, auch wenn es nicht gespeichert ist.
- Option 2: Erstellen eines Ereignisobjekts im visuellen Editor
-
Sie können ein Ereignisobjekt im Visual Editor in der CloudFront Konsole einrichten und es nicht speichern. Sie können für jede Funktion 10 Ereignisobjekte erstellen, so dass Sie beispielsweise verschiedene mögliche Eingaben testen können.
Wenn Sie das Ereignisobjekt auf diese Weise erstellen, können Sie das Ereignisobjekt verwenden, um die Funktion in der CloudFront Konsole zu testen. Sie können es nicht verwenden, um die Funktion mit einer AWS API oder einem SDK zu testen.
- Option 3: Erstellen eines Ereignisobjekts mit einem Texteditor
-
Sie können einen Texteditor verwenden, um ein Ereignisobjekt im JSON-Format zu erstellen. Informationen zur Struktur eines Ereignisobjekts finden Sie unter Ereignisstruktur.
Sie können dieses Ereignisobjekt verwenden, um die Funktion mit der CLI zu testen. Sie können es jedoch nicht verwenden, um die Funktion in der CloudFront Konsole zu testen.
So erstellen Sie ein Ereignisobjekt (Option 1 oder 2)
-
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. Wählen Sie die Funktion, die Sie testen möchten.
-
Wählen Sie auf der Seite der Funktionsdetails die Registerkarte Test aus.
-
Wählen Sie für Ereignistyp eine der folgenden Optionen aus:
-
Wenn die Funktion eine HTTP-Anfrage ändert oder basierend auf der Anfrage eine Antwort generiert, wählen Sie Betrachteranfrage aus. Der Abschnitt Anforderung wird angezeigt.
-
Wählen Sie Viewer-Antwort. Die Abschnitte Anforderung und Antwort werden angezeigt.
-
-
Füllen Sie die Felder aus, die Sie in das Ereignis aufnehmen möchten. Sie können JSON bearbeiten wählen, um den unformatierten JSON-Code anzuzeigen.
-
(Optional) Um das Ereignis zu speichern, wählen Sie Speichern aus, geben im Feld Testereignis speichern einen Namen ein und wählen Sie dann Speichern aus.
Sie können auch „JSON bearbeiten“ wählen und das unformatierte JSON kopieren und es in Ihrer eigenen Datei außerhalb von speichern CloudFront.
So erstellen Sie ein Ereignisobjekt (Option 3)
Erstellen Sie das Ereignisobjekt mit einem Texteditor. Speichern Sie die Datei in einem Verzeichnis, mit dem Ihr Computer eine Verbindung herstellen kann.
Vergewissern Sie sich, diese Richtlinien zu befolgen:
-
Ignorieren Sie die Felder
distributionDomainName,distributionIdundrequestId. -
Die Namen von Headern, Cookies und Abfragezeichenfolgen müssen in Kleinbuchstaben geschrieben sein.
Eine Möglichkeit, ein Ereignisobjekt auf diese Weise zu erstellen, besteht darin, mit dem visuellen Editor ein Beispiel zu erstellen. Sie können sicher sein, dass das Beispiel korrekt formatiert ist. Sie können dann den unformatierten JSON-Code kopieren, in einen Text-Editor einfügen und die Datei speichern.
Weitere Informationen zur Struktur eines Ereignisses finden Sie unter Ereignisstruktur.
Testen der Funktion
Sie können eine Funktion in der CloudFront Konsole oder mit der AWS Command Line Interface (AWS CLI) testen.
Hinweise
-
FunctionExecutionLogsenthält eine Liste von Protokollzeilen, die die Funktion inconsole.log()-Anweisungen geschrieben hat (falls vorhanden). -
ComputeUtilizationenthält Informationen zur Ausführung Ihrer Funktion. Siehe Informationen zur Rechenauslastung. -
FunctionOutputenthält das von der Funktion zurückgegebene Ereignisobjekt.
Informationen zur Rechenauslastung
Rechenauslastung ist die Zeit, die die Ausführung der Funktion in Anspruch genommen hat, als Prozentsatz der maximal zulässigen Zeit. Zum Beispiel bedeutet ein Wert von 35, dass die Funktion in 35 % der maximal zulässigen Zeit abgeschlossen wurde.
Wenn eine Funktion kontinuierlich die maximal zulässige Zeit überschreitet, wird die Funktion CloudFront gedrosselt. Die folgende Liste zeigt, mit welcher Wahrscheinlichkeit eine Funktion basierend auf dem Wert der Rechenauslastung gedrosselt wird.
Rechenauslastungswert:
-
1 – 50 – Die Funktion liegt deutlich unter der maximal zulässigen Zeit und sollte ohne Drosselung ausgeführt werden.
-
51 – 70 – Die Funktion nähert sich der maximal zulässigen Zeit. Erwägen Sie die Optimierung des Funktionscodes.
-
71 — 100 — Die Funktion kommt der maximal zulässigen Zeit sehr nahe oder überschreitet sie. CloudFront wird diese Funktion wahrscheinlich drosseln, wenn Sie sie einer Verteilung zuordnen.