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.
Unterschiede zwischen CloudFront Functions und Lambda @Edge
CloudFront Functions und Lambda @Edge bieten beide die Möglichkeit, Code als Reaktion auf CloudFront Ereignisse auszuführen.
CloudFront Functions ist ideal für einfache Funktionen mit kurzer Laufzeit für die folgenden Anwendungsfälle:
-
Normalisierung von Cache-Schlüsseln — Transformieren HTTP Sie Anforderungsattribute (Header, Abfragezeichenfolgen, Cookies und sogar den URL Pfad), um einen optimalen Cache-Schlüssel zu erstellen, der Ihre Cache-Trefferquote verbessern kann.
-
Header-Manipulation — Fügen Sie HTTP Header in die Anfrage oder Antwort ein, ändern oder löschen Sie sie. Beispielsweise können Sie jeder Anfrage einen
True-Client-IP
-Header hinzufügen. -
URLUmleitungen oder Umschreibungen — Leiten Sie Zuschauer auf der Grundlage der Informationen in der Anfrage auf andere Seiten weiter oder schreiben Sie alle Anfragen von einem Pfad in einen anderen um.
-
Autorisierung anfordern — Überprüfen Sie Hash-Autorisierungstoken wie JSON Web-Token (JWT), indem Sie die Autorisierungsheader oder andere Metadaten der Anfrage überprüfen.
Informationen zu den ersten Schritten mit CloudFront Funktionen finden Sie unter. Personalisieren Sie am Rand mit CloudFront Funktionen
Lambda @Edge ist ideal für die folgenden Anwendungsfälle:
-
Funktionen, deren Ausführung mehrere Millisekunden oder länger dauert
-
Funktionen, für die einstellbare Funktionen oder Speicher erforderlich sind CPU
-
Funktionen, die von Bibliotheken von Drittanbietern abhängen (einschließlich der AWS SDK, für die Integration mit anderen AWS-Services)
-
Funktionen, die Netzwerkzugriff benötigen, um externe Dienste für die Verarbeitung nutzen zu können
-
Funktionen, die Dateisystemzugriff oder Zugriff auf den Hauptteil der HTTP Anfragen erfordern
Die ersten Schritte mit Lambda@Edge finden Sie unter Personalisieren Sie am Rand mit Lambda @Edge.
Um Ihnen bei der Auswahl der Option für Ihren Anwendungsfall zu helfen, verwenden Sie die folgende Tabelle, um die Unterschiede zwischen CloudFront Functions und Lambda @Edge zu verstehen.
CloudFront Funktionen | Lambda@Edge | |
---|---|---|
Programmiersprachen | JavaScript (ECMAScript5.1-konform) | Node.js und Python |
Ereignisquellen |
|
|
Unterstützt Amazon CloudFront KeyValueStore |
Ja CloudFront KeyValueStore unterstützt nur JavaScript Runtime 2.0 |
Nein |
Skalieren | 10.000.000 Anforderungen pro Sekunde oder mehr | Bis zu 10.000 Anforderungen pro Sekunde pro Region |
Dauer der Funktion | Unterhalb einer Millisekunde |
Bis zu 5 Sekunden (Betrachteranfrage und Betrachterantwort) Bis zu 30 Sekunden (Ursprungsanfrage und Ursprungsantwort) |
Maximale Größe des Funktionsspeichers |
2 MB |
128 MB (Zuschaueranfrage und Zuschauerantwort) 10.240 MB (10 GB) (ursprüngliche Anfrage und ursprüngliche Antwort) Weitere Informationen finden Sie unter Kontingente für Lambda@Edge. |
Maximale Größe des Funktionscodes und der enthaltenen Bibliotheken | 10 KB |
1 MB (Betrachteranfrage und Betrachterantwort) 50 MB (Ursprungsanfrage und Ursprungsantwort) |
Netzwerkzugriff | Nein | Ja |
Zugriff auf das Dateisystem | Nein | Ja |
Zugang zum Anfragetext | Nein | Ja |
Zugriff auf Geolokations- und Gerätedaten | Ja |
Nein (Zuschaueranfrage und Zuschauerantwort) Ja (ursprüngliche Anfrage und ursprüngliche Antwort) |
Kann komplett darin bauen und testen CloudFront | Ja | Nein |
Funktionsprotokollierung und Metriken | Ja | Ja |
Preise | Kostenloses Kontingent verfügbar; wird pro Anfrage berechnet | Kein kostenloses Kontingent; wird pro Anfrage und Funktionsdauer berechnet |