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, 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 keine eigenen Server verwalten und skalieren.

Verwenden Sie Cloud Functions bereits in Google Cloud? Weitere Informationen zur Rolle von Firebase

Einstieg Anwendungsfälle

Hauptmerkmale

Firebase-Funktionen integrieren und Firebase mit Google Cloud verbinden

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.

Sie können Firebase-Funktionen mit dem Admin SDK und Cloud Functions integrieren und mit Diensten von Drittanbietern verknüpfen, indem Sie eigene Webhooks erstellen. Cloud Functions minimiert den Boilerplate-Code und erleichtert die Verwendung von Firebase und Google Cloud in Ihrer Funktion.
Keinerlei Wartung erforderlich Stellen Sie Ihren JavaScript-, TypeScript- oder Python-Code mit einem Befehl aus der 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 Anmeldedaten, Serverkonfiguration, Bereitstellung neuer Server oder Stilllegung alter Server machen.
Hält Ihre Logik privat und sicher In vielen Fällen steuern Entwickler die Anwendungslogik lieber auf dem Server, um Manipulationen auf der Clientseite zu vermeiden. Manchmal ist es auch nicht wünschenswert, dass dieser Code zurückentwickelt wird. Cloud Functions ist vollständig vom Client getrennt. Sie können sich also darauf verlassen, dass es privat ist und immer genau das tut, was Sie möchten.

Funktionsweise

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

Wenn die Auslastung zu- oder abnimmt, reagiert Google, indem die Anzahl der virtuellen Serverinstanzen, die zum Ausführen Ihrer Funktion erforderlich sind, schnell skaliert wird. Jede Funktion wird isoliert in einer eigenen Umgebung mit einer eigenen Konfiguration ausgeführt.

Lebenszyklus einer Hintergrundfunktion

  1. Sie schreiben Code für eine neue Funktion, wählen einen Ereignisanbieter (z. B. Cloud Firestore) aus und definieren die Bedingungen, unter denen die Funktion ausgeführt werden soll.
  2. Wenn Sie die Funktion bereitstellen:
    1. Die Firebase-Befehlszeile 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 Console aufrufen.
    3. Das Container-Image für den Code der erstellten Funktionen wird in ein privates Artifact Registry-Repository in Ihrem Projekt mit dem Namen gcf-artifacts hochgeladen und die neue Funktion wird eingeführt.
  3. Wenn der Ereignisanbieter ein Ereignis generiert, das den Bedingungen der Funktion entspricht, wird der Code aufgerufen.
  4. Wenn die Funktion viele Ereignisse verarbeitet, erstellt Google mehr Instanzen, um die Arbeit schneller zu erledigen. Wenn die Funktion inaktiv ist, werden die Instanzen bereinigt.
  5. Wenn Sie die Funktion aktualisieren, indem Sie aktualisierten Code bereitstellen, 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.

Sie können nicht nur mit einer Hintergrundfunktion auf Ereignisse warten, sondern auch Funktionen direkt mit einer HTTP-Anfrage oder einem Aufruf vom Client aufrufen. Sie können Funktionen auch über die Admin SDK nach einem festen Zeitplan auslösen oder Aufgabenfunktionen 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-Code, TypeScript-Code 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 Stellen Sie Ihr Projekt auf den Blaze-Tarif (Pay as you go) um und stellen Sie Ihre Funktionen mit der Firebase CLI bereit. Sie können dann die Google Cloud-Konsole verwenden, um Ihre Protokolle aufzurufen und zu durchsuchen.

Nächste Schritte