Cloud Functions-Versionsvergleich

Es gibt zwei Versionen von Cloud Functions for Firebase:

  • Cloud Functions (2. Generation), mit dem Ihre Funktionen als Dienste in Cloud Run bereitgestellt werden, sodass Sie sie mit Eventarc und Pub/Sub auslösen können.
  • Cloud Functions (1. Generation), die ursprüngliche Version von Funktionen mit eingeschränkten Ereignistriggern und Konfigurierbarkeit.

Wir empfehlen, nach Möglichkeit Cloud Functions (2. Generation) für neue Funktionen auszuwählen. Wir planen jedoch, Cloud Functions (1. Generation) weiterhin zu unterstützen.

Auf dieser Seite werden die Funktionen beschrieben, die in Cloud Functions eingeführt wurden, und ein Vergleich der beiden Produktversionen.

Cloud Functions (2. Generation)

Cloud Functions ist das FaaS-Angebot (Function as a Service) der nächsten Generation von Firebase. Cloud Functions (2. Generation) basiert auf Cloud Run und Eventarc und bietet eine erweiterte Infrastruktur und eine breitere Ereignisabdeckung für Cloud Functions, darunter:

  • Auf Cloud Run basierend: Funktionen werden mit Cloud Build erstellt und als Cloud Run-Dienste bereitgestellt. So können Sie Ihre Funktion wie einen Cloud Run-Dienst anpassen. In der Cloud Run-Dokumentation finden Sie Informationen zu Optionen für die Konfiguration Ihres Dienstes, z. B. zu Speicherlimits und Umgebungsvariablen.
  • Längere Verarbeitungszeiten von Anfragen: Führen Sie Arbeitslasten mit längeren Anfragen aus, z. B. die Verarbeitung großer Datenströme aus Cloud Storage oder BigQuery.
  • Größere Instanzgrößen: Führen Sie größere speicherinterne, rechenintensive und parallele Arbeitslasten aus.
  • Verbesserte Gleichzeitigkeit: Verarbeiten Sie mehrere gleichzeitige Anfragen mit einer einzelnen Funktionsinstanz, um Kaltstarts zu minimieren und die Latenz zu verbessern.
  • Trafficverwaltung: Traffic zwischen verschiedenen Funktionsüberarbeitungen aufteilen oder eine Funktion auf eine frühere Version zurücksetzen.
  • Eventarc-Integration: Native Unterstützung für Eventarc-Trigger, wodurch alle über 90 Ereignisquellen von Eventarc in Cloud Functions unterstützt werden.
  • Umfassendere CloudEvents-Unterstützung: Unterstützung von CloudEvents im Branchenstandard in allen Sprachlaufzeiten, die eine einheitliche Entwicklungsumgebung bietet.

Weitere Informationen finden Sie in der Vergleichstabelle.

Da Cloud Functions Funktionen als Dienste in Cloud Run bereitstellt, teilt Cloud Functions Ressourcenkontingente und -limits mit Cloud Run. Weitere Informationen finden Sie unter Kontingente.

Vergleichstabelle

Funktion Cloud Functions (1. Generation) Cloud Functions
Image-Registry Container Registry oder Artifact Registry Nur Artifact Registry
Zeitüberschreitung bei Anfrage Bis zu neun Minuten
  • Bis zu 60 Minuten bei durch HTTP ausgelösten Funktionen
  • Bis zu neun Minuten bei durch ein Ereignis ausgelösten Funktionen
Instanzgröße Bis zu 8 GB RAM mit 2 vCPUs Bis zu 16 GiB RAM mit 4 vCPUs
Gleichzeitigkeit 1 gleichzeitige Anfrage pro Funktionsinstanz Bis zu 1.000 gleichzeitige Anfragen pro Funktionsinstanz

Preise

Informationen zu den Preisen finden Sie unter Firebase-Tarife.

Wenn Sie Cloud Functions verwenden, können Sie die Kosten nur für Cloud Functions aufrufen:

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Billing „Berichte“ auf.
  2. Wählen Sie bei entsprechender Aufforderung das Rechnungskonto aus, das Ihrem Google Cloud-Projekt zugeordnet ist.
  3. Fügen Sie in dem Bereich Filter unterLabel einen Labelfilter mit dem Schlüssel goog-managed-by und dem Wert cloudfunctions hinzu

Beschränkungen

Cloud Functions for Firebase (2. Generation) unterstützt keine Analytics-Ereignisse.

Cloud Functions for Firebase (2. Generation) unterstützt zwar Ereignisse zur Authentifizierungsblockierung, aber nicht dieselben grundlegenden Authentication-Ereignisse wie die 1. Generation.

Da Funktionen der 1. und 2. Generation jedoch in derselben Quelldatei nebeneinander existieren können, können Sie weiterhin Analytics- und einfache Authentication-Trigger der 1. Generation zusammen mit Funktionen der 2. Generation entwickeln und bereitstellen.