Unterschiede zwischen CloudFront Functions und Lambda @Edge - 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.

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
  • Betrachteranfrage

  • Betrachterantwort

  • Betrachteranfrage

  • Betrachterantwort

  • Ursprungsanfrage

  • Ursprungsantwort

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