Uygulamanızı Cloud Storage Emulator'a bağlayın

Bulut Depolama emülatörü için uygulamanızı bağlamadan önce, emin olun genel Firebase Yerel Emülatörü Suite iş akışını anlama ve bunu yüklemek ve yapılandırmak Yerel Emülatörü Suite ve onun gözden CLI komutlarını .

Bir Firebase projesi seçin

Firebase Local Emulator Suite, ürünleri tek bir Firebase projesi için öykünür.

Eğer CLI koşmak içinde, emülatörler başlamadan önce, kullanımına projeyi seçmek için firebase use için çalışma dizininde. Veya, geçebilir --project her emülatör komutuna bayrağı.

Yerel Emulator Suite gerçek Firebase projeleri ve demo projelerin öykünme destekler.

Proje tipi Özellikleri Emülatörlerle kullanın
Gerçek

Gerçek bir Firebase projesi, sizin oluşturduğunuz ve yapılandırdığınız projedir (büyük olasılıkla Firebase konsolu aracılığıyla).

Gerçek projeler, veritabanı örnekleri, depolama paketleri, işlevler veya o Firebase projesi için kurduğunuz diğer kaynaklar gibi canlı kaynaklara sahiptir.

Gerçek Firebase projeleriyle çalışırken, desteklenen ürünlerin herhangi biri veya tümü için öykünücüler çalıştırabilirsiniz.

Eğer taklit etmiyorsunuz herhangi ürünlerde, uygulamalar ve kod canlı kaynak (veritabanı örneği, depolama kovası, fonksiyonu, vb) ile etkileşim olacaktır.

Demo

Bir demo Firebase projesi gerçek Firebase yapılandırma ve hiçbir canlı kaynaklara sahiptir. Bu projelere genellikle kod laboratuvarları veya diğer öğreticiler aracılığıyla erişilir.

Demo projeler için Proje kimlikleri var demo- önek.

Demo Firebase projeleri uygulamalarınıza ve sadece benzeticileri olan kod etkileştiği ile çalışırken. Uygulamanız, bir öykünücünün çalışmadığı bir kaynakla etkileşim kurmaya çalışırsa, bu kod başarısız olur.

Mümkün olan her yerde demo projeleri kullanmanızı öneririz. Avantajlar şunları içerir:

  • Bir Firebase projesi oluşturmadan öykünücüleri çalıştırabileceğiniz için daha kolay kurulum
  • Daha güçlü güvenlik, çünkü kodunuz yanlışlıkla taklit edilmeyen (üretim) kaynakları çalıştırırsa, veri değişikliği, kullanım ve faturalandırma şansı yoktur.
  • SDK yapılandırmanızı indirmek için internete erişmeniz gerekmediğinden daha iyi çevrimdışı destek.

Emülatörlerle konuşmak için uygulamanızı enstrümantal edin

Android, iOS ve Web SDK'ları

Cloud Storage öykünücüsü ile etkileşim kurmak için uygulama içi yapılandırmanızı veya test sınıflarınızı aşağıdaki gibi ayarlayın.

Android
FirebaseStorage.getInstance().useEmulator('10.0.2.2', 9199);
iOS - Hızlı
Storage.storage().useEmulator(withHost:"localhost", port:9199)
Web v8
var storage = firebase.storage();
storage.useEmulator("localhost", 9199);
Web v9 (Beta)
import { getStorage, useStorageEmulator } from "firebase/storage";

const storage = getStorage();
useStorageEmulator(storage, "localhost", 9199);

Ek kurulum Bulut fonksiyonlarını test etmek gereklidir Bulut Depolama olaylar tarafından tetiklenen emülatörü kullanarak. Bulut Depolama ve Bulut İşlevleri öykünücülerinin ikisi de çalışırken otomatik olarak birlikte çalışırlar.

Yönetici SDK'ları

Zaman Firebase Yönetici SDK'larını otomatik Bulut Depolama emülatörü bağlanmak FIREBASE_STORAGE_EMULATOR_HOST ortam değişkeni ayarlanır:

export FIREBASE_STORAGE_EMULATOR_HOST="localhost:9199"

Cloud Functions öykünücüsünün Bulut Depolama öykünücüsünden otomatik olarak haberdar olduğunu unutmayın; bu nedenle, Bulut İşlevleri ile Bulut Depolama öykünücüleri arasındaki entegrasyonları test ederken bu adımı atlayabilirsiniz. Ortam değişkeni, Bulut Depolama'daki Yönetici SDK'sı için otomatik olarak ayarlanacaktır.

Başka bir ortamdan Cloud Storage öykünücüsüne bağlanırken bir proje kimliği belirtmeniz gerekir. Sen bir proje kimliğine geçebilir initializeApp doğrudan veya set GCLOUD_PROJECT ortam değişkeni. Gerçek Firebase proje kimliğinizi kullanmanız gerekmediğini unutmayın; Bulut Depolama emülatörü de başlarına olduğu gibi, herhangi bir proje kimliğine kabul eder geçerli biçimi .

Node.js Yönetici SDK'sı
admin.initializeApp({ projectId: "your-project-id" });
Çevre değişkeni
export GCLOUD_PROJECT="your-project-id"

Verileri içe ve dışa aktarma

Veritabanı ve Cloud Storage öykünücüleri, çalışan bir öykünücü örneğinden verileri dışa aktarmanıza olanak tanır. Birim testlerinizde veya sürekli entegrasyon iş akışlarınızda kullanmak için temel bir veri seti tanımlayın ve ardından ekip arasında paylaşılmak üzere dışa aktarın.

firebase emulators:export ./dir

Testlerde, öykünücünün başlangıcında temel verileri içe aktarın.

firebase emulators:start --import=./dir

Sen bir ihracat yolu belirterek veya basitçe geçirilen yolu kullanarak, ya kapatma ihracat verilerine emülatör talimat verebilirsiniz --import bayrağı.

firebase emulators:start --import=./dir --export-on-exit

Bu veriler ithalat ve ihracat seçenekleri ile çalışmak firebase emulators:exec komutunu sıra. Daha fazla bilgi için, bkz emülatör komut referans .

sınırlamalar

Bulut Depolama Öykünücüsü, bazı dikkate değer sınırlamalarla üretim hizmetinin davranışını aslına uygun olarak çoğaltmaya çalışır:

  • Yönetici SDK'sının kullanılması, yalnızca dosya yükleme, dosya indirme ve dosya meta verilerini değiştirme desteklenir. Tarafından sağlanan diğer işlevsellik Google Bulut Depolama istemci kütüphaneleri henüz mevcut değildir.

Sırada ne var?