Que pouvez-vous faire avec Cloud Functions ?

Cloud Functions permet aux développeurs d'accéder aux événements Firebase et Google Cloud, ainsi qu'à une puissance de calcul évolutive pour exécuter du code en réponse à ces événements. Même s'il est prévu que les applications Firebase utilisent Cloud Functions de manière unique pour répondre à leurs exigences uniques, les cas d'utilisation typiques peuvent tomber dans les domaines suivants :

Passez en revue les cas d'utilisation et les exemples pour chaque catégorie qui vous intéresse, puis passez à notre didacticiel de démarrage ou à des guides pratiques spécifiques pour les événements d'authentification , les événements d'analyse , etc.

Avertir les utilisateurs lorsque quelque chose d'intéressant se produit

Les développeurs peuvent utiliser Cloud Functions pour garder les utilisateurs engagés et informés des informations pertinentes sur une application. Prenons, par exemple, une application qui permet aux utilisateurs de suivre les activités de chacun dans l'application. Chaque fois qu'un utilisateur s'ajoute comme suiveur d'un autre utilisateur, une écriture se produit dans la base de données en temps réel. Ensuite, cet événement d'écriture pourrait déclencher une fonction permettant de créer des notifications Firebase Cloud Messaging (FCM) afin d'informer les utilisateurs appropriés qu'ils ont gagné de nouveaux abonnés.

Diagramme montrant le flux de l'application décrit ci-dessous

  1. La fonction se déclenche lors des écritures dans le chemin de la base de données en temps réel où les abonnés sont stockés.
  2. La fonction compose un message à envoyer via FCM .
  3. FCM envoie le message de notification à l'appareil de l'utilisateur.

Pour examiner le code fonctionnel, consultez l'exemple de code dans GitHub :

Autres cas d'utilisation de notifications intéressants

  • Envoyez des e-mails de confirmation aux utilisateurs s'inscrivant à une newsletter.
  • Envoyez un e-mail de bienvenue lorsqu'un utilisateur termine son inscription.
  • Envoyez une confirmation par SMS lorsqu'un utilisateur crée un nouveau compte.

Effectuer la désinfection et la maintenance de la base de données

Avec la gestion des événements de base de données Cloud Functions, vous pouvez modifier la base de données en temps réel ou Cloud Firestore en réponse au comportement de l'utilisateur, gardant ainsi le système dans l'état souhaité. Par exemple, vous pouvez surveiller les événements d'écriture et modifier le format (par exemple, passer en majuscules) de certaines chaînes dans les messages des utilisateurs. Voici comment cela pourrait fonctionner :

Diagramme montrant le flux de l'application décrit ci-dessous

  1. Le gestionnaire d'événements de base de données de la fonction écoute les événements d'écriture sur un chemin spécifique et récupère les données d'événement contenant le texte d'un message.
  2. La fonction traite le texte pour mettre les chaînes en majuscules.
  3. La fonction réécrit le texte mis à jour dans la base de données.

Pour examiner le code fonctionnel, consultez l'exemple de code dans GitHub :

Autres cas d'utilisation de nettoyage et de maintenance de bases de données

  • Purger le contenu d'un utilisateur supprimé de la base de données en temps réel.
  • Limitez le nombre de nœuds enfants dans une base de données Firebase.
  • Suivez le nombre d'éléments dans une liste de base de données en temps réel.
  • Copiez les données de la base de données en temps réel vers Google Cloud BigQuery.
  • Convertissez le texte en emoji.
  • Gérez les métadonnées calculées pour les enregistrements de base de données.

Exécutez des tâches intensives dans le cloud plutôt que dans votre application

Vous pouvez profiter des fonctions Cloud pour transférer vers le cloud Google un travail gourmand en ressources (processeur ou réseau lourd) au lieu de l'exécuter sur l'appareil d'un utilisateur, améliorant ainsi la réactivité de votre application. Par exemple, vous pouvez écrire une fonction pour écouter les téléchargements d'images sur Cloud Storage, télécharger l'image sur l'instance exécutant la fonction, la modifier et la télécharger à nouveau sur Cloud Storage. Vos modifications peuvent inclure le redimensionnement, le recadrage ou la conversion d'images avec des outils comme Sharp ou Pillow .

Diagramme montrant le flux de l'application décrit ci-dessous

  1. Une fonction se déclenche lorsqu'un fichier image est téléchargé sur Cloud Storage.
  2. La fonction télécharge l'image et en crée une version miniature.
  3. La fonction écrit cet emplacement de miniature dans la base de données afin qu'une application cliente puisse le trouver et l'utiliser.
  4. La fonction télécharge la miniature sur Cloud Storage dans un nouvel emplacement.
  5. L'application télécharge le lien miniature.

Pour une présentation pas à pas d'un exemple de traitement d'image, consultez le guide de gestion des événements Cloud Storage .

Autres exemples de tâches par lots dans le cloud Firebase

  • Supprimez périodiquement les comptes Firebase inutilisés Node.js | Python .
  • Sauvegarder automatiquement les images téléchargées Node.js | Python .
  • Envoyez des e-mails en masse aux utilisateurs.
  • Regroupez et résumez les données périodiquement.
  • Traitez une file d’attente de travaux en attente.

Intégrez des services et des API tiers

Cloud Functions peut aider votre application à mieux fonctionner avec d'autres services en appelant et en exposant des API Web. Par exemple, une application utilisée pour la collaboration sur le développement pourrait publier des engagements GitHub dans une salle de discussion d'un groupe de travail.

Diagramme montrant le flux de l'application décrit ci-dessous

  1. Un utilisateur envoie des commits vers un dépôt GitHub.
  2. Une fonction HTTPS se déclenche via l' API webhook GitHub .
  3. La fonction envoie une notification de validation à un canal Slack d'équipe.

Autres moyens d'intégration avec des services et des API tiers

  • Utilisez l'API Google Cloud Vision pour analyser et baliser les images téléchargées.
  • Traduisez les messages à l'aide de Google Translate.
  • Utilisez l'authentification personnalisée pour connecter les utilisateurs.
  • Envoyez une requête à un webhook lors des écritures de la base de données en temps réel.
  • Activez la recherche en texte intégral sur les éléments de la base de données en temps réel.
  • Traiter les paiements des utilisateurs.
  • Créez des réponses automatiques aux appels téléphoniques et aux messages SMS.
  • Créez un chatbot à l'aide de Google Assistant.