Cloud Functions for Firebase ma 2 wersje:
- Cloud Functions (2 generacji), która wdraża Twoje funkcje jako usługi w Cloud Run, umożliwiając ich uruchamianie za pomocą funkcji Eventarc i Pub/Sub.
- Cloud Functions (1 generacji) – oryginalna wersja funkcji z ograniczonymi wyzwalaczami zdarzeń i możliwością konfiguracji.
Zalecamy, aby w miarę możliwości wybierać Cloud Functions (2 generacji) w przypadku nowych funkcji. Planujemy jednak kontynuować obsługę Cloud Functions (1 generacji).
Na tej stronie opisano funkcje wprowadzone w wersji Cloud Functions oraz przedstawiono porównanie obu wersji usługi.
Cloud Functions (2 generacji)
Cloud Functions to usługa nowej generacji Firebase Functions as a Service. Cloud Functions (2 generacji) opiera się na usługach Cloud Run i Eventarc, a także zapewnia ulepszone Cloud Functions infrastruktury i szersze pokrycie zdarzeń, w tym:
- Tworzone na podstawie 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 samo jak usługę Cloud Run. Aby dowiedzieć się więcej o opcjach konfiguracji usługi, takich jak limity pamięci czy zmiennych środowiska, zapoznaj się z dokumentacją Cloud Run.
- Dłuższy czas przetwarzania żądań: wykonywanie zadań związanych z dłuższymi żądaniami, takich jak przetwarzanie dużych strumieni danych z Cloud Storage lub BigQuery.
- Większe rozmiary instancji: umożliwiają uruchamianie większych zadań równoległych, wymagających dużej ilości pamięci i mocy obliczeniowej.
- Ulepszony współbieżność: obsługa wielu żądań równoległych za pomocą jednej instancji funkcji, aby ograniczyć uruchomienia „na zimno” i skrócić czas oczekiwania.
- Zarządzanie ruchem: możesz rozdzielić ruch między różne wersje funkcji lub przywrócić poprzednią wersję funkcji.
- Integracja z Eventarc: obsługa natywnych aktywatorów Eventarc, która obejmuje ponad 90 źródeł zdarzeń obsługiwanych przez Eventarc.Cloud Functions
- Większe wsparcie dla CloudEvents: obsługa CloudEvents zgodna ze standardami branżowymi we wszystkich językach, która zapewnia spójne środowisko programistyczne.
Szczegółowe informacje znajdziesz w tabeli porównawczej.
Ponieważ Cloud Functions wdraża funkcje jako usługi w Cloud Run, Cloud Functions udostępnia limity zasobów i ograniczenia Cloud Run. Zobacz artykuł 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 vCPU | Maksymalnie 16 GB pamięci RAM z 4 vCPU |
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 korzystasz z usługi Cloud Functions, możesz wyświetlić koszty związane z tylko Cloud Functions w ten sposób:
- Otwórz stronę Cloud BillingRaporty w konsoli Google Cloud.
- 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 etykiety z kluczem
goog-managed-by
i wartościącloudfunctions
.
Ograniczenia
Urządzenie Cloud Functions for Firebase (2 generacji) nie obsługuje zdarzeń Analytics.
Chociaż usługa Cloud Functions for Firebase (2 generacji) obsługuje zdarzenia blokowania uwierzytelniania, nie obsługuje ona tego samego zestawu podstawowych zdarzeń Authentication co usługa Authentication (1 generacji).
Ponieważ jednak funkcje 1 i 2 generacji mogą współistnieć w tym samym pliku źródłowym, nadal możesz tworzyć i wdrażać Analytics oraz podstawowe Authentication 1 generacji razem z funkcjami 2 generacji.