Uygulamanızla Extensions emülatörünü kullanmadan önce Firebase Local Emulator Suite iş akışını genel olarak anlarsınız, Ayrıca kurun ve yapılandırdığınız Local Emulator Suite ifadesini tıklayın ve CLI komutlarını inceleyin.
Bu kılavuzda Firebase Extensions hakkında bilgi sahibi olduğunuz da varsayılır. ve bunları Firebase uygulamalarınızda nasıl kullanacağınızı öğrenin.
Extensions emülatörüyle ne yapabilirim?
Extensions emülatörüyle uzantıları tek bir saniyede yükleyip yönetebilirsiniz özelliklerini daha iyi anlamanıza yardımcı olur. faturalandırma maliyetlerine karşılık gelir. Emülatör, aşağıdakiler de dahil olmak üzere uzantınızın işlevlerini yerel olarak çalıştırır: arka plan etkinliği tarafından tetiklenen işlevleri Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication ve Pub/Sub ve Eventarc tarafından tetiklenen işlevler Cloud Functions sürüm 2.
Firebase projesi seçin
Firebase Local Emulator Suite, tek bir Firebase projesi için ürün emülasyonu yapar.
Kullanılacak projeyi seçmek için emülatörleri başlatmadan önce CLI çalıştırmasında
Çalışma dizininizde firebase use
. Ya da
her emülatöre --project
işaretini
komutuna dokunun.
Local Emulator Suite, gerçek Firebase projelerinin ve demo projeleri.
Proje türü | Özellikler | Emülatörlerle kullanım |
---|---|---|
Gerçek |
Gerçek bir Firebase projesi, sizin oluşturduğunuz ve yapılandırdığınız (büyük olasılıkla Firebase konsolu üzerinden). Gerçek projelerde veritabanı örnekleri ve depolama alanı gibi canlı kaynaklar bulunur Firebase için oluşturduğunuz paketler, işlevler veya diğer kaynaklar belirler. |
Gerçek Firebase projeleriyle çalışırken tüm işlemler için emülatörler çalıştırabilirsiniz. veya desteklenen tüm ürünler. emüle etmediğiniz tüm ürünlerde uygulamalarınız ve kodunuz live kaynakla (veri tabanı örneği, depolama alanı) grup, işlev vb.) belirtin. |
Demo |
Demo Firebase projesinin gerçek bir Firebase yapılandırması yoktur ve canlı kaynak yok. Bu projelere genellikle codelab'ler veya eğiticidir. Demo projeleri için proje kimlikleri |
Demo Firebase projeleriyle çalışırken uygulamalarınız ve kodunuz yalnızca emülatörler aracılığıyla gerçekleştirilir. Uygulamanız bir kaynakla etkileşim kurmaya çalışırsa çalışmadığı durumlarda bu kod başarısız olur. |
Mümkün olan her yerde demo projeleri kullanmanızı öneririz. Sunulan avantajlar arasında şunlar sayılabilir:
- Emülatörleri, herhangi bir kod oluşturmadan da çalıştırabildiğiniz için kurulumu daha kolay Firebase projesi
- Kodunuz yanlışlıkla emülasyonsuz bir kod çağırırsa daha yüksek güvenlik sağlar (üretim) kaynaklarında, veri değişikliği, kullanım ve faturalandırma ihtimali yoktur.
- Gerektiğinde internet bağlantısı olmadığında çevrimdışı destek SDK yapılandırmanızı indirin.
Uzantıları yükleme ve değerlendirme
Bir uzantınınExtensions basit bir şekilde ele alacağız.
Tetikleyici E-posta ile ilgilendiğinizi varsayalım
(firestore-send-email
) uzantı,
ancak aşağıdaki iş akışı tüm uzantıları kapsamaktadır. Yerel emülatörlerle çalıştırıldığında,
Tetikleyici E-posta adresi, otomatik olarak Cloud Firestore ve
Cloud Functions emülatörleri.
Bir uzantıyı yerel olarak değerlendirmek için:
Uzantıyı yerel uzantılar manifest dosyasına ekleyin. Uzantı manifesti uzantı örnekleri ve yapılandırmalarının bir listesi.
firebase ext:install --local firebase/firestore-send-email
Yukarıdaki komutu çalıştırdığınızda Search Console'un en son sürümünü
firebase/firestore-send-email
uzantısını seçin ve yapılandırmayı şuraya kaydedin: ekler ancak yapılandırmayı projenize dağıtmaz. Örneğin, Bu konuda daha fazla bilgi için Manifestlerle uzantı yapılandırmasını yönetme bölümünü inceleyin.Local Emulator Suite uygulamasını her zamanki gibi başlatın.
firebase emulators:start
Şimdi şu konumda listelenen firestore-send-email
uzantısı örneği kullanılarak:
manifest'inizde yer alan Local Emulator Suite, aşağıdaki kaynak kodunu indirir:
~/.cache/firebase/extensions
olarak ayarlayacağım. Kaynaklar
indirildikten sonra Local Emulator Suite başlar ve şunları yapabilirsiniz:
arka planda tetiklenen işlevlerden herhangi birini tetikleyebilir ve
uygulamanızı Local Emulator Suite cihazına yükleyin.
E-posta dokümanları koleksiyonuna veri eklemek için Emulator Suite UI kullanabilirsiniz ve Trigger Email uzantısının gerektirdiği diğer arka uç kaynaklarını ayarlayın.
Alternatif olarak, sürekli test gibi etkileşimsiz test ortamları entegrasyon iş akışlarını kullanıyorsanız uzantıyı değerlendirmek üzere bir test komut dosyası diğer adımların yanı sıra gerekli Cloud Firestore verilerini doldurur ve fonksiyonları tetikler. Ardından Local Emulator Suite öğesini çağırırsınız. test komut dosyanızı yürütmek için:
firebase emulators:exec my-test.sh
Extensions emülatörüyle testin üretimden farkı nedir?
Extensions emülatörü, uzantıları yüksek kalitede ve prodüksiyon deneyimiyle örtüşüyor. Ancak, üretim davranışı.
Cloud IAM
Firebase Emulator Suite, verileri kopyalamaya veya ona Çalışma için IAM ile ilgili davranış. Emülatörler Firebase Güvenliği'ne bağlıdır Kurallar sağlanır ancak IAM'nin normalde kullanılacağı durumlarda (ör. Cloud Functions'ın hizmet hesabını ve dolayısıyla izinleri çağırmasını sağlar. emülatörü yapılandırılamaz ve şurada genel olarak mevcut hesabı kullanır: yerel bir komut dosyası çalıştırmaya benzer.
Tetikleme türü sınırlaması
Şu anda Firebase Local Emulator Suite yalnızca HTTP isteği tarafından tetiklenen URL'leri desteklemektedir işlevleri, uzantılar için Eventarc özel etkinlik tetikleyicileri ve arka plan Cloud Firestore, Realtime Database, etkinlik tarafından tetiklenen işlevler Cloud Storage for Firebase, Authentication ve Pub/Sub. Uzantıları değerlendirmek için işlevini kullanan başka bir fonksiyon kullanıyorsanız uzantınızı yükleyin test amaçlı bir Firebase projesi ekleyeceksiniz.
Sonrasında ne olacak?
- Seçilmiş bir video seti ve ayrıntılı "Nasıl yapılır?" örnekleri için Firebase Emulators Eğitimi Oynatma Listesi.