31
votes

Function Cloud dans Firebase est-il gratuit ou non (le déploiement de Cloud Functions nécessite le plan de facturation à l'utilisation (Blaze))

Lorsque j'effectue ma première fonction de déploiement, je ne peux pas déployer car j'ai une erreur Me demande de mettre à niveau mon compte vers Blaze Je dois savoir Puis-je déployer une fonction lorsque j'utilise un compte gratuit ??

Production:

i  deploying functions
i  functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i  functions: ensuring required API cloudbuild.googleapis.com is enabled...
!  functions: missing required API cloudbuild.googleapis.com. Enabling now...
+  functions: required API cloudfunctions.googleapis.com is enabled

Error: Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. To upgrade your project, visit the following URL:

https://console.firebase.google.com/project/institute-for-admin/usage/details

For additional information about this requirement, see Firebase FAQs:

https://firebase.google.com/support/faq#functions-runtime


0 commentaires

3 Réponses :


25
votes

Comme le message l'indique, vous ne pouvez pas déployer de fonctions sur l'offre gratuite Spark, si vous ciblez nodejs 10. Lisez le lien vers la FAQ :

Pourquoi ai-je besoin d'un compte de facturation pour utiliser l'environnement d'exécution Node.js 10 pour Cloud Functions for Firebase?

En raison des mises à jour de son architecture sous-jacente prévues pour le 17 août 2020, Cloud Functions for Firebase s'appuiera sur certains services Google payants supplémentaires: Cloud Build , Container Registry et Cloud Storage . Ces mises à jour d'architecture s'appliqueront aux fonctions déployées sur l'environnement d'exécution Node.js 10. L'utilisation de ces services sera facturée en plus des tarifs existants.

Dans la nouvelle architecture, Cloud Build prend en charge le déploiement de fonctions. Vous ne serez facturé que pour le temps de calcul requis pour créer le conteneur d'exécution d'une fonction.

Cloud Storage, interopérant avec Google Container Registry , fournira un espace de stockage pour les conteneurs dans lesquels les fonctions s'exécutent. Vous serez facturé pour chaque conteneur requis pour déployer une fonction. Si vous utilisez actuellement Cloud Functions dans les limites d'utilisation gratuite, vous remarquerez peut-être de nouveaux frais minimes pour chaque conteneur stocké. Par exemple, 1 Go de stockage est facturé 0,026 USD par mois .

Pour en savoir plus sur la façon dont votre facture peut changer, veuillez consulter les éléments suivants

Si vous souhaitez cibler le nœud 8, cela peut toujours fonctionner. Mais il est obsolète et vos fonctions finiront par cesser de fonctionner. Vous devrez toujours les migrer vers le nœud 10 dans ce cas et fournir un compte de facturation.

Cloud Functions dispose toujours d'une allocation gratuite mensuelle documentée sur la page de tarification . Mais vous devrez fournir une carte de crédit et être sur un plan de facturation pour pouvoir l'utiliser. Vous serez responsable du paiement de tout dépassement mensuel.


9 commentaires

Merci beaucoup, je vais utiliser le nœud 8 pour tester et après que tout va bien, je fais de la mise à niveau du nœud vers 10


Cela signifie-t-il que les jours de «l'exécution de code côté serveur totalement gratuite» sont révolus? Ils ont besoin d'un compte de facturation pour exécuter du code côté serveur?


@JoyGeorgeKunjikkuru Il y a une allocation mensuelle gratuite pour Cloud Functions. Vous ne serez pas facturé pour cette allocation. Vous ne payez que le dépassement. La carte de crédit est requise en cas de dépassement.


Il n'y a donc littéralement aucun moyen de spécifier que notre site Web devrait simplement tomber en panne au lieu de dépenser trop. Si nos sites Web subissent une attaque DDOS, nous sommes entièrement responsables du paiement. Cela n'a pas de sens pour les petits développeurs


@pete Vous devez contacter directement le support Firebase pour poser vos questions sur la facturation. support.google.com/firebase/contact/support


Merci @DougStevenson pour votre réponse. J'ai eu l'idée, mais comme @ pete le mentionne, c'est pour mon propre usage et je ne veux pas payer ou passer des appels avec FB après DDoS. J'ai déménagé à Heroku qui fournit toujours un niveau gratuit sans CC.


notez que vous pouvez limiter l'utilisation cloud.google.com/docs/quota#capping_usage


Lors du passage à blaze, je suggère d'activer une notification de budget. Cela peut être configuré dans Google Cloud Console.


@DougStevenson Carte de crédit est indispensable? puis-je utiliser une carte de débit, je suis un débutant.



16
votes

Actuellement, la base de feu utilise la version 10 du nœud pour les fonctions cloud, ce qui vous oblige à payer (payer au fur et à mesure).

Vous pouvez changer le nœud de 10 à 8 (à utiliser gratuitement) dans functions / package.json

"engines": {
    "node": "8". // changed from 10 to 8
  },

Cependant, cela sera bientôt obsolète. Voici ce que dit le site Web de Firebase:

Node.js 8 est obsolète. À partir du 15 février 2021, nous ne prendrons plus en charge les nouveaux déploiements ou mises à jour des fonctions de Node.js 8. À partir du 15 mars 2021, nous ne prendrons plus en charge les exécutions des fonctions Node.js 8 existantes.

https://firebase.google.com/support/faq?authuser=0#expandable-10-label


2 commentaires

Merci beaucoup. J'ai sauvé ma journée. Je me demandais tout le temps pourquoi ma fonction Firebase ne s'était pas déployée.


Heureux que cela vous ait aidé! :)



1
votes

Juste pour dissiper la confusion ici

Firebase semble fermer les fonctions cloud pour le plan d'étincelle. Alors, j'ai pensé que se passerait-il si Firebase prévoyait de supprimer les fonctionnalités du plan gratuit une par une.

Voici la réponse de leur page FAQ.

Cette modification apportée à Cloud Functions signifie-t-elle que le plan gratuit Firebase (Spark) disparaît?

Non. Cette modification n'affectera pas les autres produits Firebase. Le plan Spark ne sera plus disponible pour Cloud Functions après le 15 mars 2021.


0 commentaires