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 wywoływanie 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 Cloud Functions oraz porównano obie wersje usługi.
Cloud Functions (2 generacji)
Cloud Functions to usługa nowej generacji Firebase Functions as a Service. Cloud Functions (2 generacji) oparta na Cloud Run i Eventarc zapewnia ulepszona infrastrukturę i szersze pokrycie zdarzeń w Cloud Functions, w tym:
- Tworzone na podstawie usługi Cloud Run: funkcje są tworzone za pomocą usługi Cloud Build i wdrażane jako usługi Cloud Run. Dzięki temu możesz dostosować funkcję tak samo jak usługę Cloud Run. Aby poznać opcje konfiguracji usługi, takie jak limity pamięci czy zmiennych środowiska, zapoznaj się z dokumentacją Cloud Run.
- Dłuższy czas przetwarzania żądań: wykonuj zadania o większym zapotrzebowaniu na zasoby, takie 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 z 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
Usługa 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 Cloud Functions for Firebase (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 w 1 generacji razem z funkcjami 2 generacji.