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.
Antwortstreaming für Lambda-Ereignisfunktionen
Lambda-Funktionen können Antwortnutzlasten nativ über Lambda-Funktions-URLs oder mithilfe der InvokeWithResponseStreamAPI (über das AWS SDK oder direkte API-Aufrufe) an Clients zurückstreamen. Ihre Lambda-Funktion kann auch Antwort-Payloads über die Amazon API Gateway Gateway-Proxyintegration streamen, die die InvokeWithResponseStreamAPI verwendet, um Ihre Funktion aufzurufen. Antwort-Streaming kann für latenzempfindliche Anwendungen von Vorteil sein, da es die Leistung in der Zeit bis zum ersten Byte (TTFB) verbessert. Dies liegt daran, dass Sie Teilantworten an den Client zurücksenden können, sobald sie verfügbar sind. Darüber hinaus können Antwort-Streaming-Funktionen Nutzdaten bis zu 200 MB zurückgeben, verglichen mit dem Maximum von 6 MB für gepufferte Antworten.
Das Streamen einer Antwort bedeutet auch, dass Ihre Funktion nicht die gesamte Antwort im Speicher speichern muss. Bei sehr großen Antworten kann dies die Menge des Speichers reduzieren, die Sie für Ihre Funktion konfigurieren müssen. Informationen zur Auswahl zwischen Funktions-URLs und API Gateway für Ihren Anwendungsfall finden Sie unterWählen Sie eine Methode aus, um Ihre Lambda-Ereignisfunktion mithilfe einer HTTP-Anfrage aufzurufen.
Anmerkung
Lambda-Response-Streaming ist noch nicht in allen AWS-Regionen Bereichen verfügbar. Informationen zur Verfügbarkeit von Funktionen nach Regionen finden Sie unter AWS Funktionen nach Regionen
Die Geschwindigkeit, mit der Lambda Ihre Antworten streamt, hängt von der Größe der Antwort ab. Die Streaming-Rate für die ersten 6 MB der Antwort Ihrer Funktion ist unbegrenzt. Bei Antworten, die größer als 6 MB sind, gilt für den Rest der Antwort eine Bandbreitenbegrenzung. Weitere Informationen zur Streaming-Bandbreite finden Sie unter Bandbreitenbegrenzung für Antwort-Streaming.
Streaming-Antworten sind mit Kosten verbunden, und gestreamte Antworten werden nicht unterbrochen oder gestoppt, wenn die Verbindung zum aufrufenden Client unterbrochen wird. Kunden wird die volle Funktionsdauer in Rechnung gestellt, weshalb Kunden bei der Konfiguration langer Funktions-Timeouts Vorsicht walten lassen sollten.
Lambda unterstützt Antwortstreaming auf Node.js verwalteten Laufzeiten. Für andere Sprachen, einschließlich Python, können Sie eine benutzerdefinierte Runtime mit einer benutzerdefinierten Runtime-API-Integration verwenden, um Antworten zu streamen, oder den Lambda Web Adapter
Anmerkung
Wenn Sie Ihre Funktion über die Lambda-Konsole testen, werden die Antworten immer gepuffert angezeigt.
Informationen zum Schreiben von Streaming-Funktionen finden Sie unterSchreiben von Antwort-Streaming-fähigen Lambda-Funktionen. Informationen zum Aufrufen von Streaming-Funktionen über Funktions-URLs finden Sie unterAufrufen einer Antwort-Streaming-fähigen Funktion mit Lambda-Funktions-URLs. Eine Schritt-für-Schritt-Anleitung finden Sie unter Tutorial: Erstellen einer Lambda-Funktion zum Streamen von Antworten mit einer Funktions-URL.
Themen
Bandbreitenbegrenzung für Antwort-Streaming
Die ersten 6 MB der Antwort-Payload Ihrer Funktion haben eine unbegrenzte Bandbreite. Nach diesem ersten Burst streamt Lambda Ihre Antwort mit einer maximalen Rate von 2 Mbit/s. Wenn Ihre Funktionsantworten nie größer als 6 MB sind, gilt diese Bandbreitenbegrenzung nicht.
Anmerkung
Bandbreitenbeschränkungen gelten nur für die Antwort-Payload Ihrer Funktion und nicht für den Netzwerkzugriff durch Ihre Funktion.
Die Geschwindigkeit der unbegrenzten Bandbreite hängt von einer Reihe von Faktoren ab, einschließlich der Verarbeitungsgeschwindigkeit Ihrer Funktion. Normalerweise können Sie für die ersten 6 MB der Antwort Ihrer Funktion mit einer Geschwindigkeit von mehr als 2 MB/s rechnen. Wenn Ihre Funktion eine Antwort an ein Ziel außerhalb von streamt AWS, hängt die Streaming-Rate auch von der Geschwindigkeit der externen Internetverbindung ab.
VPC-Kompatibilität mit Antwort-Streaming
Bei der Verwendung von Lambda-Funktionen in einer VPC-Umgebung gibt es wichtige Überlegungen zum Antwort-Streaming:
-
Lambda-Funktions-URLs unterstützen kein Antwort-Streaming innerhalb einer VPC-Umgebung.
-
Sie können Antwort-Streaming innerhalb einer VPC verwenden, indem Sie Ihre Lambda-Funktion über das AWS SDK mithilfe der API aufrufen.
InvokeWithResponseStreamDas erfordert die Einrichtung der entsprechenden VPC-Endpunkte für Lambda. -
Für VPC-Umgebungen müssen Sie einen VPC-Schnittstellen-Endpunkt für Lambda erstellen, um die Kommunikation zwischen Ihren Ressourcen in der VPC und dem Lambda-Service zu ermöglichen.
Eine typische Architektur für das Antwort-Streaming in einer VPC könnte Folgendes beinhalten:
Client in VPC -> Interface VPC endpoint for Lambda -> Lambda function -> Response streaming back through the same path