Dostępne są 2 wersje Cloud Functions for Firebase:
- Cloud Functions (2 generacji), która wdraża funkcje jako usługi na platformie Cloud Run, umożliwiając wywoływanie ich za pomocą Eventarc i Pub/Sub.
- Cloud Functions (1 generacji), czyli pierwotna wersja funkcji z ograniczonymi wyzwalaczami zdarzeń i możliwościami konfiguracji.
W przypadku nowych funkcji zalecamy wybieranie w miarę możliwości Cloud Functions (2 generacji). Planujemy jednak nadal obsługiwać Cloud Functions (1 generacji).
Na tej stronie opisujemy funkcje wprowadzone w Cloud Functions i porównujemy obie wersje usługi.
Cloud Functions (2 generacji)
Cloud Functions to usługa Firebase nowej generacji typu FaaS (Functions-as-a-Service). Usługa Cloud Functions (2 generacji) oparta na Cloud Run i Eventarc, Cloud Functions zapewnia ulepszoną infrastrukturę i szerszy zakres zdarzeń w Cloud Functions, w tym:
- Oparte na Cloud Run: funkcje są tworzone za pomocą Cloud Build i wdrażane jako usługi Cloud Run przy użyciu domyślnego Cloud Runśrodowiska wykonawczego. Dzięki temu możesz dostosować funkcję tak jak Cloud Runusługę. Zapoznaj się z Cloud Run dokumentacją, aby poznać opcje konfigurowania usługi, takie jak limity pamięci, zmienne środowiskowe itp.
- Dłuższy czas przetwarzania żądań: uruchamiaj zbiory zadań z dłuższymi żądaniami, np. przetwarzanie dużych strumieni danych z Cloud Storage lub BigQuery.
- Większe rozmiary instancji: uruchamiaj większe zadania w pamięci, wymagające dużej mocy obliczeniowej i równoległe.
- Większa współbieżność: obsługa wielu współbieżnych żądań za pomocą jednej instancji funkcji, aby zminimalizować uruchomienia „na zimno” i skrócić czas oczekiwania.
- Zarządzanie ruchem: dzielenie ruchu między różne wersje funkcji lub przywracanie funkcji do poprzedniej wersji.
- Eventarc integration: Native support for Eventarc triggers, bringing all 90+ event sources supported by Eventarc to Cloud Functions.
- Szersza obsługa CloudEvents: obsługa standardowych w branży CloudEvents we wszystkich środowiskach wykonawczych języków, co zapewnia spójne środowisko programistyczne.
Szczegółowe informacje znajdziesz w tabeli porównawczej.
Ponieważ Cloud Functions wdraża funkcje jako usługi na platformie Cloud Run,Cloud Functions udostępnia limity zasobów i ograniczenia platformie Cloud Run. Zobacz Limity.
Tabela porównawcza
Funkcja | Cloud Functions (1 generacji) | Cloud Functions |
---|---|---|
Rejestr obrazów | Container Registry lub Artifact Registry | Tylko Artifact Registry |
Przekroczenie limitu czasu żądania | Do 9 minut |
|
Rozmiar instancji | Do 8 GB pamięci RAM z 2 procesorami wirtualnymi | Do 16 GiB pamięci RAM z 4 procesorami wirtualnymi |
Równoczesność | 1 żądanie równoczesne na instancję funkcji | Do 1000 równoczesnych żądań na instancję funkcji |
Ceny
Informacje o cenach znajdziesz na stronie Abonamenty i ceny Firebase.
Jeśli używasz Cloud Functions, możesz wyświetlić koszty związane tylko z Cloud Functions w ten sposób:
- W konsoli Google Cloud otwórz Cloud Billing stronę Raporty.
- Jeśli pojawi się taka prośba, wybierz konto rozliczeniowe powiązane z Twoim projektem Google Cloud.
- W panelu Filtry w sekcji Etykiety dodaj filtr etykiet z kluczem
goog-managed-by
i wartościącloudfunctions
.
Ograniczenia
Cloud Functions for Firebase (2 generacji) nie obsługuje zdarzeń Analytics.
Chociaż Cloud Functions for Firebase (2 generacji) obsługuje zdarzenia blokowania uwierzytelniania, nie obsługuje tego samego zestawu podstawowych zdarzeń Authentication co 1 generacja.
Jednak ponieważ funkcje 1 i 2 generacji mogą współistnieć w tym samym pliku źródłowym, możesz nadal tworzyć i wdrażać Analytics i podstawowe wyzwalacze Authentication w funkcjach 1 generacji razem z funkcjami 2 generacji.