Cloud Functions pour Firebase

Cloud Functions pour Firebase est un framework sans serveur qui permet d'exécuter automatiquement du code backend en réponse à des événements en arrière-plan, des requêtes HTTPS, des actions du 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 mettre à l'échelle vos propres serveurs.

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-les à des services tiers en écrivant vos propres webhooks. Cloud Functions réduit le code passe-partout, 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 depuis la ligne de commande. Ensuite, Firebase met automatiquement à l'échelle les ressources de calcul pour correspondre les schémas d'utilisation de vos utilisateurs. Vous n'avez jamais à vous soucier des identifiants, de la configuration du serveur, du provisionnement de nouveaux serveurs ni de la mise hors service des anciens.
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 manipulation 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, le Admin SDK, ou une tâche planifiée. Dans le cas des fonctions en arrière-plan, les serveurs de Google écoutent les événements et exécutent la fonction lorsqu'elle est déclenchée.

Lorsque la charge augmente ou diminue, Google répond en mettant rapidement à l'échelle 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 en arrière-plan

  1. Vous écrivez du code pour 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. L'interface 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 Google Cloud console.
    3. L'image de conteneur pour le code des fonctions créé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 davantage d'instances pour accélérer le traitement. Si la fonction est inactive, les instances sont nettoyées.
  5. Lorsque vous mettez à jour la fonction en déployant du code mis à jour, les instances des anciennes versions sont nettoyées, ainsi 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 toutes 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 en arrière-plan, vous pouvez appeler directement des fonctions avec une requête HTTP ou un appel depuis le client. Vous pouvez également déclencher des fonctions selon une planification fixe ou mettre en file d'attente des fonctions de tâche via le Admin SDK.

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

Configurer Cloud Functions Installez l'interface Firebase CLI 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 services, Google Cloud services ou d'autres fournisseurs d'événements.
Tester les fonctions Utilisez l'émulateur local pour tester vos fonctions.
Déployer et surveiller Passez au forfait Blaze avec paiement à l'usage pour votre projet et déployez vos fonctions à l'aide de l'interface Firebase CLI. Vous pouvez ensuite utiliser la Google Cloud console pour afficher vos journaux et les parcourir.

Étapes suivantes