Cloud Functions bietet Entwicklern Zugriff auf Firebase- und Google Cloud-Ereignisse sowie skalierbare Rechenleistung, um Code als Reaktion auf diese Ereignisse auszuführen. Es wird davon ausgegangen, dass Firebase-Apps Cloud Functions auf individuelle Weise verwenden, um ihre individuellen Anforderungen zu erfüllen. Typische Anwendungsfälle können jedoch in die folgenden Bereiche fallen:
- Nutzer benachrichtigen, wenn etwas Interessantes passiert:
- Datenbankbereinigung und ‑wartung durchführen:
- Führen Sie rechenintensive Aufgaben in der Cloud statt in Ihrer App aus.
- In Dienste und APIs von Drittanbietern einbinden
Sehen Sie sich die Anwendungsfälle und Beispiele für jede Kategorie an, die Sie interessiert, und fahren Sie dann mit unserer Anleitung für den Einstieg oder mit den spezifischen Anleitungen für Authentifizierungsereignisse, Analyseereignisse und mehr fort.
Nutzer benachrichtigen, wenn etwas Interessantes passiert
Entwickler können Cloud Functions verwenden, um Nutzer mit relevanten Informationen zu einer App zu binden und auf dem neuesten Stand zu halten. Stellen Sie sich beispielsweise eine App vor, mit der Nutzer die Aktivitäten anderer Nutzer in der App verfolgen können. Jedes Mal, wenn sich ein Nutzer als Follower eines anderen Nutzers hinzufügt, erfolgt ein Schreibvorgang in der Realtime Database. Dieses Schreibereignis könnte dann eine Funktion auslösen, um Firebase Cloud Messaging-Benachrichtigungen (FCM) zu erstellen, damit die entsprechenden Nutzer darüber informiert werden, dass sie neue Follower haben.

- Die Funktion wird bei Schreibvorgängen im Pfad Realtime Database ausgelöst, in dem Follower gespeichert werden.
- Die Funktion erstellt eine Nachricht, die über FCM gesendet werden soll.
- FCM sendet die Benachrichtigung an das Gerät des Nutzers.
Den funktionierenden Code finden Sie im Beispielcode auf GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
Weitere interessante Anwendungsfälle für Benachrichtigungen
- Senden Sie Bestätigungs-E‑Mails an Nutzer, die einen Newsletter abonnieren.
- Senden Sie eine Begrüßungs-E-Mail, wenn ein Nutzer die Registrierung abgeschlossen hat.
- Senden Sie eine SMS-Bestätigung, wenn ein Nutzer ein neues Konto erstellt.
Datenbankbereinigung und ‑wartung durchführen
Mit der Cloud Functions-Datenbankereignisverarbeitung können Sie Realtime Database oder Cloud Firestore als Reaktion auf das Nutzerverhalten ändern und so den gewünschten Systemstatus beibehalten. Sie können beispielsweise Schreibereignisse überwachen und das Format bestimmter Strings in den Nachrichten von Nutzern ändern (z. B. in Großbuchstaben). Das könnte so funktionieren:

- Der Datenbank-Event-Handler der Funktion wartet auf Schreibereignisse in einem bestimmten Pfad und ruft Ereignisdaten mit dem Text einer Nachricht ab.
- Die Funktion verarbeitet den Text, um Strings in Großbuchstaben umzuwandeln.
- Die Funktion schreibt den aktualisierten Text zurück in die Datenbank.
Den funktionierenden Code finden Sie im Beispielcode auf GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Weitere Anwendungsfälle für die Bereinigung und Wartung von Datenbanken
- Inhalte eines gelöschten Nutzers aus Realtime Database dauerhaft löschen.
- Anzahl der untergeordneten Knoten in einer Firebase-Datenbank begrenzen.
- Die Anzahl der Elemente in einer Realtime Database-Liste erfassen.
- Daten aus Realtime Database in Google Cloud BigQuery kopieren.
- Text in Emojis umwandeln.
- Berechnete Metadaten für Datenbankeinträge verwalten.
Intensive Aufgaben in der Cloud statt in Ihrer App ausführen
Mit Cloud Functions können Sie ressourcenintensive Aufgaben (hohe CPU- oder Netzwerklast) auf die Google Cloud-Ressource auslagern, anstatt sie auf dem Gerät eines Nutzers auszuführen. Dadurch wird die Reaktionsfähigkeit Ihrer Anwendung verbessert. Sie können beispielsweise eine Funktion schreiben, die auf Bilduploads in Cloud Storage wartet, das Bild auf die Instanz herunterlädt, auf der die Funktion ausgeführt wird, es ändert und wieder in Cloud Storage hochlädt. Zu den Änderungen können die Größenanpassung, das Zuschneiden oder das Konvertieren von Bildern mit Tools wie sharp oder Pillow gehören.

- Eine Funktion wird ausgelöst, wenn eine Bilddatei in Cloud Storage hochgeladen wird.
- Die Funktion lädt das Bild herunter und erstellt eine Miniaturansicht davon.
- Die Funktion schreibt den Speicherort des Thumbnails in die Datenbank, damit eine Client-App es finden und verwenden kann.
- Die Funktion lädt das Thumbnail an einen neuen Speicherort in Cloud Storage hoch.
- Die App lädt den Thumbnail-Link herunter.
Eine Schritt-für-Schritt-Anleitung für ein Bildverarbeitungsbeispiel finden Sie im Leitfaden zum Umgang mit Cloud Storage-Ereignissen.
Weitere Beispiele für Batchjobs in der Firebase-Cloud
- Nicht verwendete Firebase-Konten regelmäßig löschen Node.js | Python.
- Hochgeladene Bilder automatisch sichern Node.js | Python.
- Senden Sie Bulk-E-Mails an Nutzer.
- Daten regelmäßig aggregieren und zusammenfassen.
- Warteschlange mit ausstehenden Aufgaben verarbeiten
Einbindung in Dienste und APIs von Drittanbietern
Cloud Functions kann dazu beitragen, dass Ihre Anwendung besser mit anderen Diensten zusammenarbeitet, indem Web-APIs aufgerufen und bereitgestellt werden. Beispielsweise könnte eine App, die für die Zusammenarbeit bei der Entwicklung verwendet wird, GitHub-Commits in einem Chatroom für Arbeitsgruppen posten.

- Ein Nutzer überträgt Commits an ein GitHub-Repository.
- Eine HTTPS-Funktion wird über die GitHub Webhook API ausgelöst.
- Die Funktion sendet eine Benachrichtigung über den Commit an einen Slack-Kanal des Teams.
Andere Möglichkeiten zur Einbindung in Dienste und APIs von Drittanbietern
- Verwenden Sie die Google Cloud Vision API, um hochgeladene Bilder zu analysieren und zu taggen.
- Nachrichten mit Google Übersetzer übersetzen lassen
- Verwenden Sie die benutzerdefinierte Authentifizierung, um Nutzer anzumelden.
- Senden Sie eine Anfrage an einen Webhook bei Realtime Database-Schreibvorgängen.
- Aktivieren Sie die Volltextsuche für Realtime Database-Elemente.
- Zahlungen von Nutzern verarbeiten
- Automatische Antworten auf Anrufe und SMS erstellen
- Erstellen Sie einen Chatbot mit Google Assistant.