Cloud Functions donne aux développeurs accès à Firebase et aux événements 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 classiques peuvent être regroupés dans les catégories suivantes :
- Informer les utilisateurs lorsqu'il se passe quelque chose d'intéressant.
- Effectuez la maintenance et l'assainissement des bases de données.
- Exécutez les tâches intensives dans le cloud plutôt que dans votre application.
- Intégration à des services et à des API tiers
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 Analytics et plus encore.
Notifier 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 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 qu'abonné d'un autre utilisateur, une écriture a lieu dans Realtime Database. Cet événement d'écriture peut ensuite déclencher une fonction permettant de créer des notifications Firebase Cloud Messaging (FCM) pour informer les utilisateurs concernés qu'ils ont gagné de nouveaux abonnés.
- La fonction se déclenche lors des écritures sur le chemin d'accès Realtime Database où sont stockés les abonnés.
- La fonction rédige un message à envoyer via FCM.
- FCM envoie le message de notification à l'appareil de l'utilisateur.
Pour examiner le 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.
- Envoyez un e-mail de bienvenue lorsqu'un utilisateur termine son inscription.
- Envoyez une confirmation par SMS 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, 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, en mettant en majuscules) de certaines chaînes dans les messages des utilisateurs. Voici un exemple de fonctionnement :
- 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 modifié dans la base de données.
Pour examiner le code fonctionnel, consultez l'exemple de code sur GitHub :
- Node.js : uppercase-rtdb
- Python : uppercase-rtdb
Autres cas d'utilisation pour la désinfection et la maintenance des 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.
- Suivez le nombre d'éléments dans 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 tirer parti de Cloud Functions pour décharger les tâches gourmandes en ressources (CPU ou réseau) sur le cloud Google 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 vers 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.
- 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 miniature dans la base de données, afin qu'une application cliente puisse la trouver et l'utiliser.
- La fonction renvoie la miniature à Cloud Storage dans un nouvel emplacement.
- 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 tâches 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
- Envoyez des e-mails groupés aux utilisateurs.
- Agrégez et résumez les données de manière périodique.
- 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 un salon de discussion de groupe de travail.
- Un utilisateur envoie des commits à un dépôt GitHub.
- Une fonction HTTPS se déclenche via l'API Webhooks GitHub.
- La fonction envoie une notification du commit à un canal Slack de l'équipe.
Autres méthodes d'intégration à 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 sur les é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 messages ;
- Créez un chatbot à l'aide de l'Assistant Google.