Cloud Function affectera-t-il l'utilisation de la bande passante de Firebase Storage?

Sep 01 2020

J'essaie de comprendre pourquoi l'utilisation du stockage Firebase est bien au-dessus de mes attentes

Je n'ai que quelques fichiers photo dans mon stockage Firebase, juste environ 75 photos, 100 Ko pour chaque photo. mais mes octets stockés et le nombre d'objets est bien supérieur à mes attentes, comme vous pouvez le voir dans l'image ci-dessus. dans ce cas, je trouve peut-être la réponse dans la documentation ici

Lorsque vous déployez le code source de votre fonction sur Cloud Functions, cette source est stockée dans un bucket Cloud Storage. Cloud Build crée ensuite automatiquement votre code dans une image de conteneur et la transmet à Container Registry. Cloud Functions accède à cette image lorsqu'il a besoin d'exécuter le conteneur pour exécuter votre fonction.

Le processus de construction de l'image est entièrement automatique et ne nécessite aucune intervention directe de votre part

c'est probablement parce que je crée beaucoup de fonctions cloud. c'est pourquoi les octets stockés et le nombre d'objets dans mon stockage Firebase sont importants

maintenant, j'ai besoin de savoir pourquoi la bande passante de stockage peut atteindre 20,2 Go en un mois. Je suis toujours en train de développer mon application, l'utilisateur n'est que moi. Je ne pense pas que j'atteindrai 20,2 Go dans un mois, car dans mon application Android, j'utilise le cache pour afficher l'image.

Je suis méfiant, la raison pour laquelle mon utilisation de la bande passante de stockage est trop élevée est à cause de la fonction cloud. en août, j'exécute beaucoup de firebase deployma fonction cloud. Cloud Function affectera-t-il l'utilisation de la bande passante de Firebase Storage?

Je suis en Indonésie, mon stockage Firebase et Firestore sont situés en asia-sud-est2, mais ma fonction Cloud est située en asia-east2. ma fonction cloud effectue des opérations sur mon firestore et les images stockées. mais je ne pense pas qu'il atteindra 20,2 Go par mois

comme vous pouvez le voir sur l'image ci-dessus, l'utilisation de la bande passante est séparée en 3 parties différentes

  1. asia.artifacts.projectID.appspot.com
  2. gcf-sources-5900904-asie-est2
  3. projectID.appspot.com

asia.artifacts.projectID.appspot.com semble bien au-dessus de l'autre, il fait jusqu'à 4,3 Go

thats quelques informations de mon problème. J'ai donc besoin de savoir si le déploiement / le fonctionnement de la fonction cloud affectera mon utilisation de la bande passante Firebase Storage?

J'ai besoin de comprendre pourquoi cela se produit, car je crains d'avoir des coûts inattendus si de nombreux utilisateurs utilisent mon application.

Réponses

2 DougStevenson Sep 02 2020 at 01:07

La partie de la documentation que vous avez citée qui est pertinente ici est:

Cloud Functions accède à cette image lorsqu'il a besoin d'exécuter le conteneur pour exécuter votre fonction.

Les images construites sont accessibles par Cloud Functions afin d'exécuter votre code intégré à l'image. Bien que la documentation ne spécifie pas, je suppose que chaque démarrage à froid d'une fonction nécessite un téléchargement de l'image à partir du seau d'artefacts. Cela expliquerait l'utilisation sur ce seau.

1 詹易衡 Jan 06 2021 at 11:31

J'ai également été surpris par l'utilisation de la bande passante.

Premièrement, Firebase a modifié certaines règles

Après le 17 août 2020, chaque opération de déploiement entraînera des frais à petite échelle pour> l'espace de stockage utilisé pour le conteneur de la fonction. Par exemple, si vos fonctions consomment?> 1 Go de stockage via Container Registry, vous serez facturé 0,026 USD par mois. Si votre processus de développement dépend du déploiement de fonctions pour les tests, vous pouvez réduire davantage les coûts en utilisant Firebase Local Emulator Suite pendant le développement.

L'explication la plus raisonnable est donc que la création de la fonction cloud pendant le npm installtéléchargement génère une utilisation de la bande passante node_moduleset consomme également du stockage.

Je suggérerais d'utiliser autant que possible l'émulateur local pendant le développement, mais dans de nombreux cas, le test de production est inévitable, tellement triste.