Cloud Functions for Firebase v2 wird von Cloud Run und Eventarc unterstützt und bietet Ihnen das Potenzial, Ihnen eine leistungsfähigere Infrastruktur, erweiterte Kontrolle über Leistung und Skalierbarkeit sowie mehr Kontrolle über die Laufzeit der Funktionen zu bieten. Diese öffentliche Vorschaudokumentation erläutert, was neu ist und was zu diesem Zeitpunkt im Betaprogramm für v2 verfügbar ist, und bietet einige Anleitungen zur Verwendung der neuen API, ob allein oder zusammen mit Cloud Functions for Firebase v1-APIs.
Was ist neu in Cloud Functions für Firebase v2
Zu den Änderungen und Verbesserungen, die derzeit in Cloud Functions for Firebase v2 verfügbar sind, gehören:
- Funktionsinstanzen können jetzt mehr als eine Anfrage gleichzeitig ausführen . Diese Funktion ist für Funktionen mit einer dedizierten CPU oder höher verfügbar. Mit der
setGlobalOptions
Methode können Parallelitätsebenen für einzelne Funktionen oder für alle Funktionen festgelegt werden. Wenn nicht angegeben, werden neue Funktionen mit 1 dedizierter CPU oder höher standardmäßig auf 80 gleichzeitige Anforderungen gesetzt. Siehe Gleichzeitige Anfragen zulassen . - Sichern Sie Ihre aufrufbaren und HTTP-Funktionen mit einer neuen
cors
Einstellung. HTTP-Trigger haben jetzt auch einecors
Einstellung, um die Verwaltung von CORS zu vereinfachen . - Cloud Functions baut jetzt auf Cloud Run auf . Wenn Sie mit Cloud Run nicht vertraut sind, machen Sie sich keine Sorgen: Das Erstellen von Funktionen ist genauso einfach wie zuvor. Cloud Run ist ein moderneres serverloses Produkt, das Ihnen eine bessere Leistung, bessere Konfiguration, bessere Überwachung und mehr bietet.
- Google hat mit Branchenführern zusammengearbeitet, um die CloudEvents-Spezifikation zu erstellen. Ereignisbehandlungsfunktionen verwenden jetzt diesen offenen Standard als ihre Ereignissignatur.
- Zu den neuen Auslösertypen gehören Firebase Alerts-Auslöser , benutzerdefinierte Ereignisauslöser für Firebase-Erweiterungen und Aufgabenwarteschlangenfunktionen zum Ausführen ressourcenintensiver Aufgaben in Cloud Tasks (Aufgabenwarteschlangenfunktionen sind auch in v1 verfügbar).
- Das
firebase-functions
SDK wurde neu konzipiert und ist nativer für modernes JavaScript. Sie können v2-Funktionen global konfigurieren, Optionsobjekte verwenden und modulare Importe verwenden . - HTTP-Funktionen können jetzt ein Timeout von 1 Stunde haben (vorher 9 Minuten) , wenn dies für lang andauernde Workloads erforderlich ist.
- Funktionsinstanzen verwenden jetzt standardmäßig das standardmäßige Compute-Dienstkonto und nicht mehr das App Engine-Dienstkonto.
Einschränkungen während der öffentlichen Vorschau
Diese eingeschränkte öffentliche Vorschauversion von Cloud Functions v2 enthält noch nicht alle geplanten Funktionen und bietet auch keine vollständige Funktionsparität mit Cloud Functions v1. Es ist in Bezug auf die verfügbaren Trigger und Regionen begrenzt und hat die anderen aktuellen Einschränkungen, die in diesem Abschnitt beschrieben werden.
Derzeit verfügbare Cloud Functions-Standorte
Cloud Functions v2 ist derzeit in den folgenden Regionen verfügbar:
-
europe-north1
-
europe-west1
-
europe-west4
-
us-central1
-
us-east1
-
us-west1
Derzeit verfügbare Cloud Functions-Trigger
Cloud Functions v2 unterstützt die folgenden Firebase-Hintergrundauslöser:
- Firebase-Echtzeitdatenbank
- Cloud-Speicher
- Firebase-Warnungen
- Pub/Sub
- Aufrufbare
- Cloud-Aufgaben
- HTTP
Cloud Functions v2 unterstützt derzeit die folgenden Trigger nicht :
- Cloud-Firestore
- Firebase-Authentifizierung
- Google Analytics
- Geplante Funktionen
- Firebase-Remote-Konfiguration
- Firebase-Testlabor
Andere Einschränkungen
Diese Einschränkungen gelten auch für Cloud Functions v2:
- Funktionsnamen sind auf Kleinbuchstaben, Zahlen und Bindestriche beschränkt.
- Die vollständige Beobachtbarkeit ist noch nicht in die Firebase-Befehlszeilenschnittstelle oder die Firebase-Konsole integriert. Verwenden Sie zum Beobachten Ihrer Funktionsinstanzen die Google Cloud Console für den zugrunde liegenden Cloud Run-Dienst .
- Die Firebase Local Emulator Suite unterstützt derzeit HTTP-, Cloud Storage- und Pub/Sub-Funktionen in v2.
-
cloudfunctions.net
URLs werden für HTTP-Funktionen noch nicht unterstützt; vorübergehend sehen Sie stattdessen.run.app
URLs. Diese Einschränkung wirkt sich auch auf den Aufruf von Callable- und Task-Queue- Funktionen aus (siehe die entsprechenden Leitfäden für akzeptable Problemumgehungen). - Kaltstarts wurden in v2 noch nicht optimiert und können vorübergehend erheblich langsamer sein als in v1. Dank Parallelität sollten Endbenutzer jedoch insgesamt weniger Kaltstarts erleben.