Cloud Functions donne aux développeurs accès 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 exigences spécifiques, les cas d'utilisation typiques peuvent se situer dans les domaines suivants:
- Notifiez les utilisateurs lorsqu'un événement intéressant se produit.
- Effectuez la maintenance et la désinfection de la base de données.
- Exécutez des tâches intensives dans le cloud plutôt que dans votre application.
- Intégrez des services et des API tiers.
Consultez les cas d'utilisation et les exemples de chaque catégorie qui vous intéresse, puis passez au tutoriel de démarrage ou aux guides d'utilisation spécifiques pour les événements d'authentification, les événements d'analyse, etc.
Notifier les utilisateurs lorsqu'un événement intéressant se produit
Les développeurs peuvent utiliser Cloud Functions pour engager les utilisateurs et les tenir informés des informations pertinentes sur 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 que suiveur 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 gagné de nouveaux abonnés.
- La fonction se déclenche lors des écritures dans le chemin Realtime Database où les abonnés sont stockés.
- La fonction rédige un message à envoyer via FCM.
- FCM envoie le message de notification à l'appareil de l'utilisateur.
Pour consulter un code fonctionnel, consultez l'exemple de code sur GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
Autres cas d'utilisation intéressants des notifications
- Envoyez des e-mails de confirmation aux utilisateurs qui s'abonnent à une newsletter.
- Envoyer un e-mail de bienvenue lorsqu'un utilisateur a terminé son inscription
- Envoyer un SMS de confirmation lorsqu'un utilisateur crée un compte
Effectuer la désinfection et la maintenance des bases de données
Avec 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 de l'utilisateur, 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:
- 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.
- La fonction traite le texte pour convertir les chaînes en majuscules.
- La fonction réécrit le texte mis à jour dans la base de données.
Pour consulter un code fonctionnel, consultez l'exemple de code sur GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Autres cas d'utilisation de la désinfection et de la maintenance de bases de données
- Supprimez définitivement 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 dans une liste Realtime Database.
- Copiez les données de Realtime Database vers Google Cloud BigQuery.
- Convertir le 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 utiliser Cloud Functions pour transférer vers le cloud Google des tâches gourmandes en ressources (CPU ou mise en réseau intense) 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 dans l'instance exécutant la fonction, la modifier, puis la réimporter dans Cloud Storage. Vous pouvez redimensionner, recadrer ou convertir des images à l'aide d'outils tels que sharp ou Pillow.
- Une fonction se déclenche lorsqu'un fichier image est importé dans Cloud Storage.
- La fonction télécharge l'image et en crée une version miniature.
- La fonction écrit l'emplacement de la vignette dans la base de données afin qu'une application cliente puisse la trouver et l'utiliser.
- La fonction importe à nouveau la vignette dans Cloud Storage à un nouvel emplacement.
- L'application télécharge le lien de la miniature.
Pour obtenir un tutoriel sur un exemple de traitement d'image, consultez le guide sur la gestion des événements Cloud Storage.
Autres exemples de tâches par lot dans le cloud Firebase
- Supprimez 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 la collaboration sur le développement peut publier des commits GitHub dans une salle de discussion de groupe de travail.
- Un utilisateur envoie des commits dans un dépôt GitHub.
- Une fonction HTTPS se déclenche via l'API webhook GitHub.
- La fonction envoie une notification du commit à un canal Slack d'équipe.
Autres façons d'intégrer des services et des API tiers
- Utilisez l'API Cloud Vision de Google pour analyser et taguer les images importées.
- Traduire des messages à l'aide de Google Traduction
- Utilisez l'authentification personnalisée pour connecter les utilisateurs.
- Envoyez 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éer des réponses automatiques aux appels téléphoniques et aux SMS
- Créez un chatbot à l'aide de l'Assistant Google.