Cloud Functions für Firebase

Cloud Functions für Firebase ist ein serverloses Framework, mit dem Sie automatisch Backend-Code als Reaktion auf Ereignisse ausführen können, die durch Hintergrundereignisse, HTTPS-Anfragen, die Admin SDK oder Cloud Scheduler-Jobs ausgelöst werden. Ihr JavaScript-, TypeScript- oder Python-Code wird in der Google Cloud-Infrastruktur gespeichert und in einer verwalteten Umgebung ausgeführt. Sie müssen Ihre eigenen Server nicht verwalten und skalieren.

Verwenden Sie Cloud Functions bereits in Google Cloud? Weitere Informationen

Jetzt loslegen Anwendungsfälle

Hauptmerkmale

Firebase-Funktionen werden integriert und Firebase wird mit Google Cloud verbunden.

Die von Ihnen geschriebenen Funktionen können auf Ereignisse reagieren, die von verschiedenen Firebase- und Google Cloud-Funktionen generiert werden, von Firebase Authentication-Triggern bis hin zu Cloud Storage-Triggern.

Mit dem Admin SDK in Kombination mit Cloud Functions können Sie Firebase-Funktionen integrieren und mit eigenen Webhooks eine Integration mit Drittanbieterdiensten erstellen. Cloud Functions minimiert Boilerplate-Code und erleichtert so die Verwendung von Firebase und Google Cloud in Ihrer Funktion.
Keinerlei Wartung erforderlich Stellen Sie Ihren JavaScript-, TypeScript- oder Python-Code mit einem Befehl über die Befehlszeile auf unseren Servern bereit. Danach skaliert Firebase automatisch Computing-Ressourcen hoch, um sich an die Nutzungsmuster Ihrer Nutzer anzupassen. Sie müssen sich keine Gedanken über Zugangsdaten, Serverkonfiguration, das Deployment von neuen Servern oder die Stilllegung von alten machen.
Hält Ihre Logik privat und sicher In vielen Fällen ziehen es Entwickler vor, die Anwendungslogik auf dem Server zu steuern, um Manipulationen auf der Clientseite zu vermeiden. Außerdem ist es manchmal nicht wünschenswert, dass dieser Code zurückentwickelt wird. Cloud Functions ist vollständig vom Client isoliert. Sie können also sicher sein, dass die Daten privat bleiben und immer genau das tun, was Sie möchten.

Funktionsweise

Nachdem Sie eine Funktion geschrieben und bereitgestellt haben, wird sie sofort von den Servern von Google verwaltet. Sie können die Funktion direkt mit einer HTTP-Anfrage, der Admin SDK oder einem geplanten Job auslösen. Bei Hintergrundfunktionen warten die Server von Google auf Ereignisse und führen die Funktion aus, wenn sie ausgelöst wird.

Wenn die Last steigt oder sinkt, reagiert Google darauf, indem die Anzahl der virtuellen Serverinstanzen, die zum Ausführen Ihrer Funktion erforderlich sind, schnell skaliert wird. Jede Funktion wird isoliert in ihrer eigenen Umgebung mit eigener Konfiguration ausgeführt.

Lebenszyklus einer Hintergrundfunktion

  1. Sie schreiben Code für eine neue Funktion, wählen einen Ereignisanbieter aus (z. B. Cloud Firestore) und definieren die Bedingungen, unter denen die Funktion ausgeführt werden soll.
  2. Wenn Sie die Funktion bereitstellen:
    1. Die Firebase-CLI erstellt ein .zip-Archiv des Funktionscodes, das dann in einen Cloud Storage-Bucket (mit dem Präfix gcf-sources) hochgeladen wird, bevor Cloud Functions ein Artifact Registry-Repository (mit dem Namen gcf-artifacts) in Ihrem Projekt erstellt.
    2. Cloud Build ruft den Funktionscode ab und erstellt die Funktionsquelle. Sie können Cloud Build-Logs in der Google Cloud-Konsole aufrufen.
    3. Das Container-Image für den erstellten Funktionscode wird in ein privates Artifact Registry-Repository in Ihrem Projekt (mit dem Namen gcf-artifacts) hochgeladen und Ihre neue Funktion wird bereitgestellt.
  3. Wenn der Ereignisanbieter ein Ereignis generiert, das den Bedingungen der Funktion entspricht, wird der Code aufgerufen. Der Funktion ist ein Dienstkonto zugeordnet, mit dem mithilfe der Firebase Admin SDK auf andere Firebase-Dienste zugegriffen werden kann.
  4. Wenn die Funktion mit der Verarbeitung vieler Ereignisse beschäftigt ist, erstellt Google weitere Instanzen, um die Arbeit schneller zu erledigen. Wenn die Funktion inaktiv ist, werden Instanzen bereinigt.
  5. Wenn Sie die Funktion durch Bereitstellen von aktualisiertem Code aktualisieren, werden Instanzen für ältere Versionen zusammen mit Build-Artefakten in Artifact Registry bereinigt und durch neue Instanzen ersetzt.
  6. Wenn Sie die Funktion löschen, werden alle Instanzen und ZIP-Archive sowie die zugehörigen Build-Artefakte in Artifact Registry bereinigt. Die Verbindung zwischen der Funktion und dem Ereignisanbieter wird entfernt.

Neben dem Abhören von Ereignissen mit einer Hintergrundfunktion können Sie Funktionen auch direkt mit einer HTTP-Anfrage oder einem Aufruf vom Client aufrufen. Sie können Funktionen auch nach einem festen Zeitplan auslösen oder Aufgabenfunktionen über die Admin SDK in die Warteschlange stellen.

Vorgehensweise bei der Implementierung

Cloud Functions einrichten Installieren Sie die Firebase-CLI und initialisieren Sie Cloud Functions in Ihrem Firebase-Projekt.
Funktionen schreiben Schreiben Sie JavaScript-, TypeScript- oder Python-Code, um Ereignisse von Firebase-Diensten, Google Cloud-Diensten oder anderen Ereignisanbietern zu verarbeiten.
Testfunktionen Verwenden Sie den lokalen Emulator, um Ihre Funktionen zu testen.
Bereitstellen und überwachen Führen Sie ein Upgrade Ihres Projekts auf den Blaze-Tarif (Pay as you go) durch und stellen Sie Ihre Funktionen mit der Firebase-Befehlszeile bereit. Anschließend können Sie die Google Cloud-Konsole verwenden, um Ihre Logs anzusehen und zu durchsuchen.

Nächste Schritte