Was kann ich mit Cloud Functions tun?

Cloud Functions bietet Entwicklern Zugriff auf Firebase- und Google Cloud-Ereignisse sowie skalierbare Rechenleistung, um Code als Reaktion auf diese Ereignisse auszuführen. Firebase-Apps verwenden Cloud Functions in der Regel auf einzigartige Weise, um ihren individuellen Anforderungen gerecht zu werden. Typische Anwendungsfälle lassen sich jedoch in folgende Bereiche einteilen:

Sehen Sie sich die Anwendungsfälle und Beispiele für jede Kategorie an, die Sie interessiert, und fahren Sie dann mit unserem Erste Schritte-Tutorial oder mit den spezifischen Anleitungen für Authentifizierungsereignisse, Analyseereignisse usw. fort.

Nutzer benachrichtigen, wenn etwas Interessantes passiert

Entwickler können Cloud Functions verwenden, um Nutzer zu binden und sie mit relevanten Informationen zu einer App auf dem Laufenden 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 ein Nutzer sich als Follower eines anderen Nutzers hinzufügt, wird ein Schreibvorgang in Realtime Database ausgeführt. Dieses Schreibereignis könnte dann eine Funktion auslösen, um Firebase Cloud Messaging-Benachrichtigungen (FCM) zu erstellen, damit die entsprechenden Nutzer wissen, dass sie neue Follower haben.

Diagramm zum unten beschriebenen App-Ablauf

  1. Die Funktion wird durch Schreibvorgänge in den Pfad Realtime Database ausgelöst, in dem Follower gespeichert werden.
  2. Die Funktion verfasst eine Nachricht, die über FCM gesendet werden soll.
  3. FCM sendet die Benachrichtigung an das Gerät des Nutzers.

Funktionierenden Code finden Sie im Beispielcode auf GitHub:

Weitere interessante Anwendungsfälle für Benachrichtigungen

  • Senden Sie Bestätigungs-E-Mails an Nutzer, die einen Newsletter abonnieren.
  • Eine Begrüßungs-E-Mail senden, wenn ein Nutzer die Registrierung abgeschlossen hat.
  • Senden Sie eine SMS-Bestätigung, wenn ein Nutzer ein neues Konto erstellt.

Datenbank bereinigen und warten

Mit der Cloud Functions-Datenbankereignisverarbeitung können Sie Realtime Database oder Cloud Firestore als Reaktion auf das Nutzerverhalten ändern und das System so in dem gewünschten Zustand halten. Sie können beispielsweise Schreibereignisse überwachen und das Format bestimmter Strings in den Nachrichten der Nutzer ändern, z. B. in Großbuchstaben. So könnte das funktionieren:

Diagramm zum unten beschriebenen App-Ablauf

  1. Der Datenbankereignis-Handler der Funktion überwacht Schreibereignisse an einem bestimmten Pfad und ruft Ereignisdaten ab, die den Text einer Nachricht enthalten.
  2. Die Funktion verarbeitet den Text, um Strings in Großbuchstaben zu ändern.
  3. Die Funktion schreibt den aktualisierten Text zurück in die Datenbank.

Funktionierenden Code finden Sie im Beispielcode auf GitHub:

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.
  • Kopieren Sie Daten aus Realtime Database nach Google Cloud BigQuery.
  • Text in Emoji umwandeln
  • Berechnete Metadaten für Datenbankdatensätze verwalten

Intensive Aufgaben in der Cloud statt in Ihrer App ausführen

Mit Cloud Functions können Sie ressourcenintensive Aufgaben (hohe CPU- oder Netzwerknutzung) in die Google-Cloud auslagern, anstatt sie auf dem Gerät eines Nutzers auszuführen. So verbessern Sie die Reaktionsfähigkeit Ihrer App. Sie könnten beispielsweise eine Funktion schreiben, die auf Bild-Uploads 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. Sie können beispielsweise die Größe von Bildern ändern, sie zuschneiden oder mit Tools wie sharp oder Pillow konvertieren.

Diagramm zum unten beschriebenen App-Ablauf

  1. Eine Funktion wird ausgelöst, wenn eine Bilddatei in Cloud Storage hochgeladen wird.
  2. Die Funktion lädt das Bild herunter und erstellt eine Miniaturansicht davon.
  3. Die Funktion schreibt den Speicherort des Thumbnails in die Datenbank, damit eine Client-App ihn finden und verwenden kann.
  4. Die Funktion lädt das Thumbnail an einem neuen Speicherort wieder in Cloud Storage hoch.
  5. Die App lädt den Thumbnail-Link herunter.

Eine Anleitung für ein Beispiel zur Bildverarbeitung finden Sie im Leitfaden zum Verarbeiten von Cloud Storage-Ereignissen.

Weitere Beispiele für Batchjobs in der Firebase-Cloud

  • In regelmäßigen Abständen ungenutzte Firebase-Konten löschen: Node.js | Python.
  • Hochgeladene Bilder automatisch sichern – Node.js | Python
  • Senden Sie Bulk-E-Mails an Nutzer.
  • Daten regelmäßig zusammenfassen und zusammenfassende Berichte erstellen.
  • Warteschlange mit ausstehenden Aufgaben verarbeiten

Einbindung in Dienste und APIs von Drittanbietern

Cloud Functions kann dazu beitragen, dass Ihre App besser mit anderen Diensten zusammenarbeitet, indem Web-APIs aufgerufen und bereitgestellt werden. Eine App, die für die Zusammenarbeit bei der Entwicklung verwendet wird, könnte beispielsweise GitHub-Commits in einem Gruppenchat posten.

Diagramm zum unten beschriebenen App-Ablauf

  1. Ein Nutzer überträgt Commits an ein GitHub-Repository.
  2. Eine HTTPS-Funktion wird über die GitHub-Webhook-API ausgelöst.
  3. Die Funktion sendet eine Benachrichtigung über den Commit an einen Slack-Kanal des Teams.

Andere Möglichkeiten der Einbindung in Dienste und APIs von Drittanbietern

  • Mit der Cloud Vision API von Google können Sie hochgeladene Bilder analysieren und taggen.
  • Nachrichten mit Google Übersetzer übersetzen
  • Verwenden Sie die benutzerdefinierte Authentifizierung, um Nutzer anzumelden.
  • Senden Sie eine Anfrage an einen Webhook für Realtime Database-Schreibvorgänge.
  • 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.