Cloud Functions dla Firebase

Cloud Functions dla Firebase to bezserwerowa platforma, która umożliwia automatyczne uruchamianie kodu backendu w odpowiedzi na zdarzenia wywoływane przez zdarzenia w tle, żądania HTTPS, Admin SDK lub zadania Cloud Scheduler. Kod w języku JavaScript, TypeScript lub Python jest przechowywany w infrastrukturze Google Cloud i działa w zarządzanym środowisku. Nie musisz zarządzać własnymi serwerami ani ich skalować.

Korzystasz już z Cloud Functions w Google Cloud? Więcej informacji o tym, jak Firebase wpisuje się w ten obraz.

Pierwsze kroki Przypadki użycia

Najważniejsze funkcje

Integracja funkcji Firebase i łączenie Firebase z Google Cloud

Napisane przez Ciebie funkcje mogą reagować na zdarzenia generowane przez różne usługi Firebase i Google Cloud, od aktywatorów Uwierzytelniania Firebase po aktywatory Cloud Storage.

Integracja z różnymi funkcjami Firebase za pomocą pakietu Admin SDK w połączeniu z Cloud Functions oraz integracja z usługami innych firm przez pisanie własnych webhooków. Cloud Functions minimalizuje powtarzalny kod, co ułatwia korzystanie z Firebase i Google Cloud w funkcji.
Bezobsługowość Wdrażaj kod w JavaScript, TypeScript lub Pythonie na naszych serwerach za pomocą jednego polecenia w wierszu poleceń. Gdy to zrobisz, Firebase będzie automatycznie skalować zasoby obliczeniowe w górę, w zależności od wzorców wykorzystania aplikacji przez użytkowników. Nie musisz zawracać sobie głowy danymi logowania, konfigurowaniem serwera, udostępnianiem nowych serwerów ani wycofywaniem z użytku starych.
Prywatność i bezpieczeństwo logiki użytkownika Wielu deweloperów woli kontrolować logikę aplikacji na serwerze, aby uniknąć manipulacji po stronie klienta. Czasami nie jest też pożądane, aby kod ten można było analizować wstecznie. Cloud Functions jest całkowicie odizolowany od klienta, więc możesz mieć pewność, że jest prywatny i zawsze robi dokładnie to, czego oczekujesz.

Jak to działa?

Po napisaniu i wdrożeniu funkcji serwery Google natychmiast zaczynają nią zarządzać. Funkcję możesz uruchomić bezpośrednio za pomocą żądania HTTP, Admin SDK lub zaplanowanego zadania. W przypadku funkcji działających w tle serwery Google nasłuchują zdarzeń i uruchamiają funkcję, gdy zostanie ona wywołana.

W miarę wzrostu lub spadku obciążenia Google szybko skaluje liczbę instancji serwera wirtualnego potrzebnych do uruchomienia funkcji. Każda funkcja działa w izolacji, we własnym środowisku z własną konfiguracją.

Cykl życia funkcji w tle

  1. Piszesz kod nowej funkcji, wybierając dostawcę zdarzeń (np.Cloud Firestore) i określając warunki, w których funkcja ma być wykonywana.
  2. Podczas wdrażania funkcji:
    1. Interfejs wiersza poleceń Firebase tworzy archiwum .zip z kodem funkcji, które jest następnie przesyłane do zasobnika Cloud Storage (z prefiksem gcf-sources), zanim Cloud Functions utworzy w Twoim projekcie repozytorium Artifact Registry (o nazwie gcf-artifacts).
    2. Cloud Build pobiera kod funkcji i tworzy źródło funkcji. Dzienniki Cloud Build możesz wyświetlić w Google Cloudkonsoli.
    3. Obraz kontenera z skompilowanym kodem funkcji jest przesyłany do prywatnego repozytorium Artifact Registry w Twoim projekcie (o nazwie gcf-artifacts), a nowa funkcja jest wdrażana.
  3. Gdy dostawca zdarzeń wygeneruje zdarzenie, które spełnia warunki funkcji, kod zostanie wywołany. Funkcja ma dołączone konto usługi, które można wykorzystać do uzyskiwania dostępu do innych usług Firebase za pomocą Firebase Admin SDK.
  4. Jeśli funkcja jest zajęta obsługą wielu zdarzeń, Google tworzy więcej instancji, aby szybciej wykonywać zadania. Jeśli funkcja jest bezczynna, instancje są czyszczone.
  5. Gdy zaktualizujesz funkcję, wdrażając zaktualizowany kod, instancje starszych wersji zostaną usunięte wraz z artefaktami kompilacji w Artifact Registry i zastąpione nowymi instancjami.
  6. Gdy usuniesz funkcję, wszystkie instancje i archiwa ZIP zostaną wyczyszczone, a także powiązane artefakty kompilacji w Artifact Registry. Połączenie między funkcją a dostawcą zdarzeń zostanie usunięte.

Oprócz nasłuchiwania zdarzeń za pomocą funkcji działającej w tle możesz wywoływać funkcje bezpośrednio za pomocą żądania HTTP lub wywołania z klienta. Możesz też aktywować funkcje zgodnie z ustalonym harmonogramem lub kolejkować funkcje zadań za pomocą ikony Admin SDK.

Ścieżka implementacji

Skonfiguruj usługę Cloud Functions Zainstaluj Firebase CLI i zainicjuj Cloud Functions w projekcie Firebase.
Pisanie funkcji Pisz kod w JavaScript, TypeScript lub Pythonie, aby obsługiwać zdarzenia z usług Firebase, usług Google Cloud lub innych dostawców zdarzeń.
Funkcje testowe Użyj lokalnego emulatora, aby przetestować funkcje.
Wdrażanie i monitorowanie Przenieś projekt na abonament Blaze z płatnością według wykorzystania i wdrażaj funkcje za pomocą interfejsu wiersza poleceń Firebase. Następnie możesz użyć Google Cloud konsoli, aby wyświetlać i przeszukiwać logi.

Dalsze kroki