Porównanie wersji Cloud Functions

Istnieją 2 wersje Cloud Functions for Firebase:

  • Cloud Functions (2 generacji), która wdraża Twoje funkcje jako usługi w Cloud Run, umożliwiając ich wywoływanie za pomocą Eventarc i Pub/Sub.
  • Cloud Functions (1 generacji), pierwotna wersja funkcji z ograniczonymi wyzwalaczami zdarzeń i możliwością konfiguracji.

Zalecamy, aby w miarę możliwości w przypadku nowych funkcji wybierać Cloud Functions (2 generacji). Planujemy jednak kontynuować obsługę Cloud Functions (1 generacji).

Na tej stronie opisano funkcje wprowadzone w wersji Cloud Functions oraz przedstawiono porównanie tych dwóch wersji usługi.

Cloud Functions (2 generacji)

Cloud Functions to usługa nowej generacji Firebase Functions as a Service. Cloud Functions (2 generacji) oparta na usługach Cloud Run i Eventarc zapewnia ulepszone infrastrukturę i szersze pokrycie zdarzeń w Cloud Functions, w tym:

  • Utworzone 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 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 zgodnych ze standardem branżowym we wszystkich językach, co 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
  • Do 60 minut w przypadku funkcji wywoływanych przez HTTP
  • Do 9 minut w przypadku funkcji wywoływanych przez zdarzenie
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:

  1. Otwórz stronę Cloud BillingRaporty w konsoli Google Cloud.
  2. Jeśli pojawi się taka prośba, wybierz konto rozliczeniowe powiązane z Twoim projektem Google Cloud.
  3. 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.