Cloud Function, Firebase Storage bant genişliği kullanımını etkileyecek mi?

Sep 01 2020

Firebase depolama kullanımının neden beklentilerimin çok üzerinde olduğunu anlamaya çalışıyorum

Firebase depolama birimimde yalnızca birkaç fotoğraf dosyası var, her fotoğraf için yaklaşık 75 fotoğraf, 100 kb. ancak depolanan baytlarım ve nesne sayıları, yukarıdaki resimde görebileceğiniz gibi beklentilerimin çok üzerinde. bu durumda cevabı buradaki belgelerden bulabilirim

İşlevinizin kaynak kodunu Cloud Functions'a dağıttığınızda, bu kaynak bir Cloud Storage paketinde saklanır. Ardından Cloud Build, kodunuzu otomatik olarak bir kapsayıcı görüntüsünde oluşturur ve bu görüntüyü Container Registry'ye aktarır. Cloud Functions, işlevinizi yürütmek için kapsayıcıyı çalıştırması gerektiğinde bu görüntüye erişir.

Görüntüyü oluşturma süreci tamamen otomatiktir ve sizden doğrudan bir girdi gerektirmez

muhtemelen çok fazla bulut işlevi oluşturduğum içindir. Firebase Depomda depolanan bayt ve nesne sayımının büyük olmasının nedeni budur

şimdi depolama bant genişliğinin neden ayda 20,2 GB'a kadar çıktığını bilmem gerekiyor. Hala uygulamamı geliştiriyorum, kullanıcı sadece benim. Bir ayda 20,2 GB'a ulaşacağımı sanmıyorum çünkü Android uygulamamda görüntüyü gösterirken önbellek kullanıyorum.

Şüpheliyim, depolama bant genişliği kullanımımın çok yüksek olmasının nedeni bulut işlevi. Ağustos ayında, firebase deploybulut işlevim için birçok şey gerçekleştiriyorum . Cloud Function, Firebase Storage bant genişliği kullanımını etkileyecek mi?

Endonezya'dayım, Firebase Storage ve Firestore'um asia-south2'de, ancak Cloud Function'ım asia-east2'de bulunuyor. bulut işlevim, yangın depomda ve depodaki görüntülerde bazı işlemler gerçekleştiriyor. ama yine de ayda 20,2 GB'a ulaşacağını sanmıyorum

Yukarıdaki görüntüden de görebileceğiniz gibi, bant genişliği kullanımı 3 farklı bölüme ayrılmıştır.

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

asia.artifacts.projectID.appspot.com diğerinin çok üzerinde görünüyor, 4.3 GB'a kadar

bu benim sorunumun bazı bilgileri. bu yüzden bilmem gerekiyor, bulut işlevi dağıtımı / işlemi Firebase Depolama Bant Genişliği kullanımımı etkiler mi?

Bunun neden olduğunu anlamam gerekiyor çünkü çok sayıda kullanıcı uygulamamı kullanırsa beklenmedik bir maliyetle karşılaşacağımdan endişeliyim.

Yanıtlar

2 DougStevenson Sep 02 2020 at 01:07

Alıntı yaptığınız belgelerin burada alakalı olan kısmı:

Cloud Functions, işlevinizi yürütmek için kapsayıcıyı çalıştırması gerektiğinde bu görüntüye erişir.

Görüntünün içine yerleştirilmiş kodunuzu çalıştırmak için yerleşik görüntülere Cloud Functions tarafından erişilir. Belgelerde belirtilmese de, bir işlevin her soğuk başlangıcının, yapay nesneler klasöründen görüntünün indirilmesini gerektirdiğini tahmin ediyorum. Bu, o kovadaki kullanımı açıklar.

1 詹易衡 Jan 06 2021 at 11:31

Bant genişliği kullanımına da şaşırdım.

İlk olarak, Firebase bazı politikaları değiştirdi

17 Ağustos 2020'den sonra, her dağıtım işlemi, işlevin kapsayıcısı için kullanılan> depolama alanı için küçük ölçekli ücretlere tabi olacaktır. Örneğin, işlevleriniz Container Registry üzerinden?> 1GB depolama alanı tüketiyorsa, aylık 0,026 $ faturalandırılırsınız. Geliştirme süreciniz> test için işlevleri dağıtmaya dayanıyorsa, geliştirme sırasında Firebase Local Emulator Suite'i kullanarak> maliyetleri daha da düşürebilirsiniz.

Bu nedenle en makul açıklama, npm installindirmenin bant genişliği kullanımı oluştururken bulut işlevi oluşturma node_modulesve ayrıca depolama alanı kaplamasıdır.

Geliştirme sırasında olabildiğince yerel emülatörü kullanmanızı öneririm, ancak çoğu durumda üretim testi kaçınılmaz, çok üzücü.