Cloud Functions for Firebase ma 2 wersje:
- Cloud Functions (2 generacji), która wdraża 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 znajdziesz opis funkcji wprowadzonych w Cloud Functions oraz 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, ale oferuje ulepszone infrastrukturę i szersze pokrycie zdarzeń w Cloud Functions, 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 środowiska wykonawczego Cloud Run. 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żny dostęp: obsługa wielu żądań równocześnie za pomocą jednej instancji funkcji, aby ograniczyć uruchomienia „na zimno” i skrócić czas oczekiwania.
- Zarządzanie ruchem: możesz rozdzielać 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 limity 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 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 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 i podstawowe Authentication 1 generacji razem z funkcjami 2 generacji.