Cloud Function, Firebase Storage bant genişliği kullanımını etkileyecek mi?
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.
- asia.artifacts.projectID.appspot.com
- gcf-sources-5900904-asia-east2
- 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
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.
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ü.