Cloud Functions pour Firebase

Cloud Functions pour Firebase est un framework sans serveur qui vous permet d'exécuter automatiquement du code de backend en réponse à des événements déclenchés par des événements en arrière-plan, des requêtes HTTPS, le Admin SDK ou des jobs Cloud Scheduler. Votre code JavaScript, TypeScript ou Python est stocké sur l'infrastructure Google Cloud et s'exécute dans un environnement géré. Vous n'avez pas besoin de gérer ni de faire évoluer vos propres serveurs.

Vous utilisez déjà Cloud Functions dans Google Cloud ? En savoir plus sur la place de Firebase dans l'ensemble.

Premiers pas Cas d'utilisation

Capacités clés

Intègre les fonctionnalités Firebase et connecte Firebase à Google Cloud

Les fonctions que vous écrivez peuvent répondre à des événements générés par diverses fonctionnalités Firebase et Google Cloud, des déclencheurs Firebase Authentication aux déclencheurs Cloud Storage.

Intégrez les fonctionnalités Firebase à l'aide du SDK Admin avec Cloud Functions, et intégrez des services tiers en écrivant vos propres Webhooks. Cloud Functions minimise le code récurrent, ce qui facilite l'utilisation de Firebase et de Google Cloud dans votre fonction.
Aucune maintenance nécessaire Déployez votre code JavaScript, TypeScript ou Python sur nos serveurs à l'aide d'une seule commande de la ligne de commande. Ensuite, Firebase effectue un scaling automatique des ressources de calcul afin de s'adapter aux tendances des utilisateurs. Vous n'avez plus à vous préoccuper des identifiants, de la configuration des serveurs, du provisionnement de nouveaux serveurs ou de la mise hors service des anciens serveurs.
Protégez la confidentialité et la sécurité de votre logique Dans de nombreux cas, les développeurs préfèrent contrôler la logique de l'application sur le serveur pour éviter toute falsification côté client. De plus, il n'est parfois pas souhaitable d'autoriser la rétro-ingénierie de ce code. Cloud Functions est entièrement isolé du client. Vous pouvez donc être sûr qu'il est privé et qu'il fait toujours exactement ce que vous voulez.

Fonctionnement

Une fois que vous avez écrit et déployé une fonction, les serveurs de Google commencent immédiatement à la gérer. Vous pouvez déclencher la fonction directement avec une requête HTTP, Admin SDK ou un job planifié. Dans le cas des fonctions en arrière-plan, les serveurs Google écoutent les événements et exécutent la fonction lorsqu'elle est déclenchée.

À mesure que la charge augmente ou diminue, Google répond en ajustant rapidement le nombre d'instances de serveur virtuel nécessaires à l'exécution de votre fonction. Chaque fonction s'exécute de manière isolée, dans son propre environnement avec sa propre configuration.

Cycle de vie d'une fonction d'arrière-plan

  1. Vous écrivez le code d'une nouvelle fonction, en sélectionnant un fournisseur d'événements (tel que Cloud Firestore) et en définissant les conditions dans lesquelles la fonction doit s'exécuter.
  2. Lorsque vous déployez votre fonction :
    1. La CLI Firebase crée une archive .zip du code de la fonction, qui est ensuite importée dans un bucket Cloud Storage (avec le préfixe gcf-sources) avant que Cloud Functions ne crée un dépôt Artifact Registry (nommé gcf-artifacts) dans votre projet.
    2. Cloud Build récupère le code de la fonction et crée la source de la fonction. Vous pouvez afficher les journaux Cloud Build dans la console Google Cloud.
    3. L'image de conteneur pour le code des fonctions compilées est importée dans un dépôt Artifact Registry privé de votre projet (nommé gcf-artifacts), et votre nouvelle fonction est déployée.
  3. Lorsque le fournisseur d'événements génère un événement qui correspond aux conditions de la fonction, le code est appelé. La fonction est associée à un compte de service qui peut être utilisé pour accéder à d'autres services Firebase à l'aide de Firebase Admin SDK.
  4. Si la fonction est occupée à gérer de nombreux événements, Google crée d'autres instances pour traiter le travail plus rapidement. Si la fonction est inactive, les instances sont nettoyées.
  5. Lorsque vous mettez à jour la fonction en déployant le code modifié, les instances des anciennes versions sont nettoyées en même temps que les artefacts de compilation dans Artifact Registry et remplacées par de nouvelles instances.
  6. Lorsque vous supprimez la fonction, toutes les instances et les archives ZIP sont nettoyées, ainsi que les artefacts de compilation associés dans Artifact Registry. La connexion entre la fonction et le fournisseur d'événements est supprimée.

En plus d'écouter les événements avec une fonction d'arrière-plan, vous pouvez appeler des fonctions directement avec une requête HTTP ou un appel depuis le client. Vous pouvez également déclencher des fonctions selon un planning fixe ou mettre en file d'attente des fonctions de tâches via Admin SDK.

Chemin d'accès de l'exécution

Configurer Cloud Functions Installez la CLI Firebase et initialisez Cloud Functions dans votre projet Firebase.
Écrire des fonctions Écrivez du code JavaScript, TypeScript ou Python pour gérer les événements des services Firebase, des services Google Cloud ou d'autres fournisseurs d'événements.
Fonctions de test Utilisez l'émulateur local pour tester vos fonctions.
Déployer et surveiller Mettez à jour votre projet pour utiliser le forfait Blaze avec paiement à l'usage et déployez vos fonctions à l'aide de la CLI Firebase. Vous pouvez ensuite utiliser la console Google Cloud pour afficher vos journaux et les parcourir.

Étapes suivantes