Cloud Functions for Firebase ma 2 wersje:
- Cloud Functions (2 generacji), która wdraża funkcje jako usługi na platformie Cloud Run, umożliwiając ich wywoływanie 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 znajdziesz opis funkcji wprowadzonych w Cloud Functions oraz porównanie obu wersji usługi.
Cloud Functions (2 generacji)
Cloud Functions to nowa generacja usługi Firebase Functions-as-a-Service. Usługa Cloud Functions (2 generacji), oparta na Cloud Run i Eventarc, 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 usługęCloud Run. Zapoznaj się z Cloud Run dokumentacją, aby poznać opcje konfiguracji usługi, takie jak limity pamięci, zmienne środowiskowe itp.
- Dłuższy czas przetwarzania żądań: uruchamiaj zadania z dłuższymi żądaniami, takie jak 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 równoczesność: obsługa wielu równoczesnych żądań za pomocą jednej instancji funkcji, aby zminimalizować uruchomienia „na zimno” i skrócić czas oczekiwania.
- Zarządzanie ruchem: dziel ruch między różne wersje funkcji lub przywracaj funkcję do poprzedniej wersji.
- Integracja z Eventarc: natywna obsługa aktywatorów Eventarc, która udostępnia w Cloud Functions ponad 90 źródeł zdarzeń obsługiwanych przez Eventarc.
- 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 |
|
| Konto usługi* | Konto usługi Google App Engine (PROJECT_ID@ |
Domyślne konto usługi obliczeniowej Google Cloud (PROJECT_NUMBER-compute@developer.gserviceaccount.com) |
| 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 |
* Jest to domyślne konto usługi używane do uzyskiwania dostępu do interfejsów Firebase lub Cloud API z uruchomionej funkcji. Jest on używany przez pakiet Firebase Admin SDK, gdy inicjujesz go bez argumentów.
Ceny
Informacje o cenach znajdziesz na stronie Abonamenty Firebase.
Koszty związane z Cloud Functions możesz sprawdzić w ten sposób:
- W konsoli Google Cloud otwórz Cloud Billingstronę Raporty.
- Jeśli pojawi się taka prośba, wybierz konto rozliczeniowe powiązane z Twoim projektem w chmurze Google Cloud.
- W panelu Filtry w sekcji Etykiety dodaj filtr etykiet z kluczem
goog-managed-byi wartościącloudfunctions.
Ograniczenia
Cloud Functions for Firebase (2 generacji) nie obsługuje zdarzeń Analytics.
Funkcje 1 i 2 generacji mogą jednak współistnieć w tym samym pliku źródłowym, więc możesz nadal tworzyć i wdrażać wyzwalacze Analytics w funkcjach 1 generacji razem z funkcjami 2 generacji.