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 utilisent Cloud Functions de manière unique pour répondre à leurs besoins spécifiques, les cas d'utilisation types peuvent se classer dans les catégories suivantes :

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

Informer les 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 dans l'application. Chaque fois qu'un utilisateur s'ajoute en tant qu'abonné d'un autre utilisateur, une écriture se produit dans Realtime Database. Cet événement d'écriture peut ensuite déclencher une fonction pour créer des notifications Firebase Cloud Messaging (FCM) afin d'informer les utilisateurs concernés qu'ils ont de nouveaux abonnés.

Schéma illustrant le flux de l'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 examiner le code de travail, consultez l'exemple de code sur GitHub :

Autres cas d'utilisation intéressants des notifications

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

Effectuer la maintenance et le nettoyage des bases de données

La gestion des événements de base de données Cloud Functions vous permet de modifier Realtime Database ou Cloud Firestore en réponse au comportement des utilisateurs, ce qui permet de maintenir 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 un exemple de fonctionnement :

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

Pour examiner le code de travail, consultez l'exemple de code sur GitHub :

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

  • Supprimez le contenu d'un utilisateur supprimé de Realtime Database.
  • Limitez le nombre de nœuds enfants dans une base de données Firebase.
  • Suivre le nombre d'éléments d'une liste Realtime Database.
  • Copiez les données de Realtime Database vers Google Cloud BigQuery.
  • Convertir du texte en emoji.
  • Gérez 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 utiliser Cloud Functions pour décharger les tâches gourmandes en ressources (utilisation intensive du processeur ou du réseau) vers Google Cloud au lieu de les 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 de l'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 importe la miniature dans Cloud Storage à un nouvel emplacement.
  5. L'application télécharge le lien de la miniature.

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

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égez et résumez les données régulièrement.
  • Traiter une file d'attente de tâches en attente.

Intégration à 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 collaborer sur un développement peut publier des commits GitHub dans un salon de discussion de groupe de travail.

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

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

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

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