Was können Sie mit Cloud Functions machen?

Cloud Functions bietet Entwicklern Zugriff auf Firebase- und Google Cloud-Ereignisse sowie skalierbare Rechenleistung, um Code als Reaktion auf diese Ereignisse auszuführen. Obwohl erwartet wird, dass Firebase-Apps Cloud-Funktionen auf einzigartige Weise nutzen, um ihre individuellen Anforderungen zu erfüllen, könnten typische Anwendungsfälle in die folgenden Bereiche fallen:

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

Benachrichtigen Sie Benutzer, wenn etwas Interessantes passiert

Entwickler können Cloud Functions nutzen, um Benutzer zu motivieren und mit relevanten Informationen zu einer App auf dem Laufenden zu halten. Stellen Sie sich beispielsweise eine App vor, mit der Benutzer die Aktivitäten anderer in der App verfolgen können. Jedes Mal, wenn sich ein Benutzer als Follower eines anderen Benutzers hinzufügt, erfolgt ein Schreibvorgang in der Echtzeitdatenbank. Dann könnte dieses Schreibereignis eine Funktion zum Erstellen von Firebase Cloud Messaging (FCM)-Benachrichtigungen auslösen, um die entsprechenden Benutzer darüber zu informieren, dass sie neue Follower gewonnen haben.

Diagramm, das den unten beschriebenen App-Ablauf zeigt

  1. Die Funktion wird bei Schreibvorgängen in den Echtzeitdatenbankpfad ausgelöst, in dem Follower gespeichert sind.
  2. Die Funktion erstellt eine Nachricht, die über FCM gesendet werden soll.
  3. FCM sendet die Benachrichtigungsnachricht an das Gerät des Benutzers.

Um den funktionierenden Code zu überprüfen, sehen Sie sich den Beispielcode in GitHub an:

Weitere interessante Anwendungsfälle für Benachrichtigungen

  • Senden Sie Bestätigungs-E-Mails an Benutzer, die einen Newsletter abonnieren.
  • Senden Sie eine Willkommens-E-Mail, wenn ein Benutzer die Anmeldung abschließt.
  • Senden Sie eine SMS-Bestätigung, wenn ein Benutzer ein neues Konto erstellt.

Führen Sie eine Datenbankbereinigung und -wartung durch

Mit der Datenbankereignisbehandlung von Cloud Functions können Sie die Echtzeitdatenbank oder den Cloud Firestore als Reaktion auf das Benutzerverhalten ändern und so das System im gewünschten Zustand halten. Sie könnten beispielsweise Schreibereignisse überwachen und das Format bestimmter Zeichenfolgen in Benutzernachrichten ändern (z. B. auf Großbuchstaben umstellen). So könnte das funktionieren:

Diagramm, das den unten beschriebenen App-Ablauf zeigt

  1. Der Datenbank-Ereignishandler der Funktion wartet auf Schreibereignisse auf einem bestimmten Pfad und ruft Ereignisdaten ab, die den Text einer Nachricht enthalten.
  2. Die Funktion verarbeitet den Text, um Zeichenfolgen in Großbuchstaben umzuwandeln.
  3. Die Funktion schreibt den aktualisierten Text zurück in die Datenbank.

Um den funktionierenden Code zu überprüfen, sehen Sie sich den Beispielcode in GitHub an:

Andere Anwendungsfälle zur Datenbankbereinigung und -wartung

  • Löschen Sie den Inhalt eines gelöschten Benutzers aus der Echtzeitdatenbank.
  • Begrenzen Sie die Anzahl der untergeordneten Knoten in einer Firebase-Datenbank.
  • Verfolgen Sie die Anzahl der Elemente in einer Echtzeitdatenbankliste.
  • Kopieren Sie Daten aus der Echtzeitdatenbank in Google Cloud BigQuery.
  • Konvertieren Sie Text in Emoji.
  • Verwalten Sie berechnete Metadaten für Datenbankeinträge.

Führen Sie intensive Aufgaben in der Cloud statt in Ihrer App aus

Sie können Cloud Functions nutzen, um ressourcenintensive Arbeiten (hohe CPU- oder Netzwerklast) in die Google-Cloud zu verlagern, anstatt sie auf dem Gerät eines Benutzers auszuführen, wodurch die Reaktionsfähigkeit Ihrer App verbessert wird. Sie könnten beispielsweise eine Funktion schreiben, die auf Bild-Uploads in den Cloud-Speicher wartet, das Bild auf die Instanz herunterlädt, die die Funktion ausführt, es ändert und es wieder in den Cloud-Speicher hochlädt. Ihre Änderungen können das Ändern der Größe, das Zuschneiden oder das Konvertieren von Bildern mit Werkzeugen wie „Sharp “ oder „Pillow“ umfassen.

Diagramm, das den unten beschriebenen App-Ablauf zeigt

  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 diesen Miniaturbildspeicherort in die Datenbank, sodass eine Client-App ihn finden und verwenden kann.
  4. Die Funktion lädt die Miniaturansicht an einem neuen Speicherort zurück in den Cloud-Speicher hoch.
  5. Die App lädt den Miniaturbild-Link herunter.

Eine exemplarische Vorgehensweise für ein Bildverarbeitungsbeispiel finden Sie im Leitfaden zum Umgang mit Cloud Storage-Ereignissen .

Weitere Beispiele für Batch-Jobs in der Firebase-Cloud

  • Löschen Sie regelmäßig nicht verwendete Firebase-Konten Node.js | Python .
  • Hochgeladene Bilder automatisch sichern Node.js | Python .
  • Senden Sie Massen-E-Mails an Benutzer.
  • Aggregieren und fassen Sie Daten regelmäßig zusammen.
  • Verarbeiten Sie eine Warteschlange ausstehender Arbeit.

Integrieren Sie Dienste und APIs von Drittanbietern

Cloud Functions kann dazu beitragen, dass Ihre App besser mit anderen Diensten zusammenarbeitet, indem Web-APIs aufgerufen und verfügbar gemacht werden. Beispielsweise könnte eine App, die für die Zusammenarbeit bei der Entwicklung verwendet wird, GitHub-Commits in einem Arbeitsgruppen-Chatroom veröffentlichen.

Diagramm, das den unten beschriebenen App-Ablauf zeigt

  1. Ein Benutzer sendet Commits an ein GitHub-Repo.
  2. Eine HTTPS-Funktion wird über die GitHub-Webhook-API ausgelöst.
  3. Die Funktion sendet eine Benachrichtigung über den Commit an einen Team-Slack-Kanal.

Andere Möglichkeiten zur Integration mit Diensten und APIs von Drittanbietern

  • Verwenden Sie die Google Cloud Vision API , um hochgeladene Bilder zu analysieren und zu markieren.
  • Übersetzen Sie Nachrichten mit Google Translate.
  • Verwenden Sie eine benutzerdefinierte Authentifizierung , um Benutzer anzumelden.
  • Senden Sie bei Echtzeitdatenbank-Schreibvorgängen eine Anfrage an einen Webhook.
  • Aktivieren Sie die Volltextsuche für Elemente der Echtzeitdatenbank.
  • Zahlungen von Benutzern verarbeiten.
  • Erstellen Sie automatische Antworten auf Telefonanrufe und SMS-Nachrichten.
  • Erstellen Sie einen Chatbot mit Google Assistant.