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. Bien que les applications Firebase soient censées utiliser Cloud Functions de manière unique pour répondre à leurs besoins spécifiques, les cas d'utilisation typiques peuvent être regroupés dans les domaines suivants :

Consultez les cas d'utilisation et les exemples pour chaque catégorie qui vous intéresse, puis passez à notre tutoriel Premiers pas ou à des guides pratiques spécifiques pour les événements d'authentification, les événements d'analyse, etc.

Envoyer des notifications aux utilisateurs lorsqu'un événement intéressant se produit

Les développeurs peuvent utiliser Cloud Functions pour maintenir l'engagement des utilisateurs et les tenir informés des informations pertinentes concernant une application. Prenons l'exemple d'une application qui permet aux utilisateurs de suivre les activités des autres utilisateurs. Chaque fois qu'un utilisateur s'abonne à un autre utilisateur, une écriture est effectuée dans la Realtime Database. Cet événement d'écriture peut ensuite déclencher une fonction permettant de créer Firebase Cloud Messaging (FCM) notifications pour informer les utilisateurs concernés qu'ils ont de nouveaux abonnés.

Schéma illustrant le flux d'application décrit ci-dessous

  1. La fonction se déclenche lors des écritures dans le chemin d'accès Realtime Database où les abonnés sont stockés.
  2. La fonction rédige un message à envoyer via FCM.
  3. FCM envoie le message de notification à l'appareil de l'utilisateur.

Pour consulter le code de travail, consultez l'exemple de code dans GitHub :

Autres cas d'utilisation intéressants pour les notifications

  • Envoyer des e-mails de confirmation aux utilisateurs qui s'abonnent à une newsletter
  • Envoyer un e-mail de bienvenue lorsqu'un utilisateur termine son inscription
  • Envoyer une confirmation par SMS lorsqu'un utilisateur crée un compte

Assurer la maintenance et l'assainissement des bases de données

Grâce à la gestion des événements de base de données Cloud Functions, vous pouvez modifier Realtime Database ou Cloud Firestore en réponse au comportement des utilisateurs, en maintenant 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 :

Schéma illustrant le flux d'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 d'accès 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 modifier les chaînes en majuscules.
  3. La fonction réécrit le texte mis à jour dans la base de données.

Pour consulter le code de travail, consultez l'exemple de code dans GitHub :

Autres cas d'utilisation pour la maintenance et l'assainissement des bases de données

  • Supprimer le contenu d'un utilisateur supprimé de Realtime Database.
  • Limiter le nombre de nœuds enfants dans une base de données Firebase
  • Suivre le nombre d'éléments dans une liste Realtime Database
  • Copier des données de Realtime Database vers Google Cloud BigQuery
  • Convertir du texte en emoji
  • Gérer les métadonnées calculées pour les enregistrements de base de données

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

Vous pouvez tirer parti de Cloud Functions pour décharger le travail intensif en ressources (CPU ou réseau) vers le cloud Google au lieu de l'exécuter sur l'appareil d'un utilisateur, ce qui améliore la réactivité de votre application. Par exemple, vous pouvez écrire une fonction pour écouter les importations d'images dans Cloud Storage, télécharger l'image sur l'instance exécutant la fonction, la modifier et la réimporter dans Cloud Storage. Vos modifications peuvent inclure le redimensionnement, le recadrage ou la conversion d’images à l’aide d’outils tels que sharp ou Pillow.

Schéma illustrant le flux d'application décrit ci-dessous

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

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

Autres exemples de jobs par lot dans le cloud Firebase

  • Supprimer régulièrement les comptes Firebase inutilisés Node.js | Python.
  • Sauvegarder automatiquement les images importées Node.js | Python.
  • Envoyer des e-mails groupés aux utilisateurs
  • Agréger et résumer régulièrement les données
  • Traiter une file d'attente de tâches en attente

Intégrer 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 peut publier des commits GitHub dans une salle de chat de groupe de travail.

Schéma illustrant le flux d'application décrit ci-dessous

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

Autres façons de s'intégrer à des services et des API tiers

  • Utiliser l'API Google Cloud Vision pour analyser et taguer les images importées
  • Traduire des messages à l'aide de Google Traduction
  • Utiliser l'authentification personnalisée pour connecter les utilisateurs
  • Envoyer une requête à un webhook lors des écritures Realtime Database
  • Activer la recherche en texte intégral sur les éléments Realtime Database
  • Traiter les paiements des utilisateurs
  • Créer des réponses automatiques aux appels téléphoniques et aux SMS
  • Créer un chatbot à l'aide de l'Assistant Google