Zanim użyjesz w aplikacji emulatora Extensions, upewnij się, że poznasz ogólny przepływ pracy w Firebase Local Emulator Suite, oraz musisz zainstalować i skonfigurować Local Emulator Suite i zapoznaj się z poleceniami interfejsu wiersza poleceń.
W tym przewodniku zakładamy też, że znasz Firebase Extensions i używanie ich w aplikacjach Firebase.
Co mogę zrobić za pomocą emulatora Extensions?
Emulator Extensions pozwala instalować rozszerzenia i zarządzać nimi w bezpiecznym środowisku lokalnym i lepszym poznaniu ich możliwości przy jednoczesnej koszty rozliczeń. Emulator uruchamia lokalnie funkcje rozszerzenia, w tym funkcji wyzwalanych przez zdarzenia w tle za pomocą emulatorów, Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication i Pub/Sub i funkcje wyzwalane przez Eventarc zaimplementowane w Cloud Functions wersja 2.
Wybierz projekt Firebase
Funkcja Firebase Local Emulator Suite emuluje produkty z jednego projektu Firebase.
Aby wybrać projekt do użycia, przed uruchomieniem emulatorów uruchom interfejs wiersza poleceń
firebase use
w katalogu roboczym. Możesz też przejść
flagę --project
poszczególnych emulatorów
.
Local Emulator Suite obsługuje emulację prawdziwych projektów Firebase oraz projektów demograficznych.
Typ projektu | Funkcje | Używanie z emulatorami |
---|---|---|
Prawdziwe |
Prawdziwy projekt Firebase to projekt utworzony i skonfigurowany przez Ciebie (najprawdopodobniej za pomocą konsoli Firebase). Prawdziwe projekty mają aktywne zasoby, takie jak instancje baz danych, miejsce na dane zasobników, funkcji lub innych zasobów utworzonych dla danej usługi Firebase w projektach AI. |
Podczas pracy z prawdziwymi projektami Firebase możesz używać emulatorów dla lub wszystkich obsługiwanych usług. W przypadku usług, których nie emulujesz, aplikacje i kod będą interakcja z zasobem aktywnym (instancją bazy danych, pamięcią masową) zasobnik, funkcja itp.). |
Wersja demonstracyjna |
Projekt demonstracyjny Firebase nie ma rzeczywistej konfiguracji Firebase oraz brak aktywnych zasobów. Dostęp do tych projektów uzyskuje się zazwyczaj w ramach ćwiczeń z programowania lub innych samouczków. Identyfikatory projektów demonstracyjnych mają prefiks |
Podczas pracy z projektami demonstracyjnymi Firebase Twoje aplikacje i kod współdziałają tylko emulatory. Jeśli aplikacja próbuje wchodzić w interakcję z zasobem w przypadku których emulator nie jest uruchomiony, kod ten zakończy się niepowodzeniem. |
Zalecamy, aby w miarę możliwości korzystać z projektów demonstracyjnych. W ten sposób możesz zapewnić im dostęp do tych korzyści:
- Łatwiejsza konfiguracja, ponieważ emulatory można uruchamiać bez konieczności tworzenia Projekt Firebase
- Silniejsze bezpieczeństwo, ponieważ jeśli Twój kod przypadkowo wywoła nieemulowany (produkcyjnych), nie jest prawdopodobne, że nastąpi zmiana danych, jego użycia i rozliczeń
- lepsza obsługa offline, ponieważ nie trzeba łączyć się z internetem, pobierz konfigurację pakietu SDK.
Instalowanie i ocenianie rozszerzenia
Oceń, czy rozszerzenie jest zgodne z zasadami za pomocą emulatora Extensions jest prosta.
Załóżmy, że interesuje Cię e-mail wywołujący
(firestore-send-email
) rozszerzenie,
ale ten proces dotyczy każdego rozszerzenia. Przy uruchamianiu za pomocą lokalnych emulatorów
E-mail powodujący regułę będzie automatycznie korzystać z tych atrybutów: Cloud Firestore i
Emulatory funkcji Cloud Functions.
Aby ocenić rozszerzenie lokalnie:
Dodaj rozszerzenie do pliku manifestu rozszerzeń lokalnych. Plik manifestu rozszerzeń to listę instancji rozszerzeń i ich konfiguracji.
firebase ext:install --local firebase/firestore-send-email
Uruchomienie powyższego polecenia spowoduje skonfigurowanie najnowszej wersji
firebase/firestore-send-email
rozszerzenie i zapisz konfigurację w pliku manifestu, ale nie wdroży on konfiguracji w projekcie. Dla: Więcej informacji znajdziesz w artykule Zarządzanie konfiguracją rozszerzeń za pomocą plików manifestu.Uruchom Local Emulator Suite w zwykły sposób.
firebase emulators:start
Za pomocą instancji rozszerzenia firestore-send-email
wymienionej w tabeli
w pliku manifestu, Local Emulator Suite pobierze kod źródłowy
to rozszerzenie do ~/.cache/firebase/extensions
. Kiedyś uzależniające
pobrane, uruchomi się Local Emulator Suite i będzie można
może uruchamiać dowolną z funkcji rozszerzenia w tle oraz łączyć
do Local Emulator Suite, aby przetestować ich integrację z aplikacją.
Za pomocą usługi Emulator Suite UI możesz dodać dane do kolekcji dokumentów e-mail i skonfigurować inne zasoby backendu, zgodnie z wymaganiami rozszerzenia E-mail aktywującego.
Alternatywnie w nieinteraktywnych środowiskach testowych, takich jak ciągłe w przepływach pracy integracji, można napisać skrypt testowy oceny rozszerzenia która m.in. uzupełnia niezbędne dane Cloud Firestore oraz uruchamia funkcje. Następnie wywołasz funkcję Local Emulator Suite aby wykonać skrypt testowy:
firebase emulators:exec my-test.sh
Czym testowanie za pomocą emulatora Extensions różni się od wersji produkcyjnej
Emulator Extensions umożliwia dokładne testowanie rozszerzeń pasuje do procesu produkcji. Występują jednak pewne różnice w środowisku produkcyjnym.
Cloud IAM
Pakiet emulatorów Firebase nie próbuje replikować ani nie przestrzegać Zachowanie związane z uprawnieniami przy uruchamianiu. Emulatory są zgodne z zasadami zabezpieczeń Firebase Reguły są podane, ale w sytuacjach, gdy są one zwykle używane, na przykład do ustawienia wywoływania konta usługi przez Cloud Functions, a tym samym do ustawiania uprawnień, Nie można skonfigurować emulatora. Używa on dostępnego globalnie konta na komputerze programisty, podobnie jak w przypadku bezpośredniego uruchomienia skryptu.
Ograniczenie typu wyzwalacza
Obecnie Firebase Local Emulator Suite obsługuje tylko żądania aktywowane przez żądanie HTTP funkcje, aktywatory zdarzeń niestandardowych Eventarc w przypadku rozszerzeń oraz tło funkcje wywoływane przez zdarzenia dla interfejsów Cloud Firestore, Realtime Database, Cloud Storage for Firebase, Authentication i Pub/Sub. Ocenianie rozszerzeń używające innych typów wyzwalanych funkcji, zainstalować rozszerzenie. w testowym projekcie Firebase.
Co dalej?
- Wyselekcjonowany zestaw filmów i szczegółowych przykładów instruktażowych znajdziesz w Playlista szkoleń dotyczących emulatorów Firebase.