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 JavaScript, TypeScript lub Python jest przechowywany w infrastrukturze Google Cloud i działa w zarządzanym środowisku. Nie musisz zarządzać ani skalować własnych serwerów.

Czy korzystasz już z Cloud Functions w Google Cloud? Dowiedz się więcej o tym, jak Firebase pasuje do Twojej sytuacji.

Pierwsze kroki Przypadki użycia

Najważniejsze funkcje

Integracja funkcji Firebase z Google Cloud

Funkcje, które napiszesz, mogą reagować na zdarzenia generowane przez różne funkcje Firebase i Google Cloud, od aktywacji Firebase Authentication do aktywacji Cloud Storage.

Integracja funkcji Firebase za pomocą pakietu Admin SDK w połączeniu z Cloud Functions oraz integracja z usługami innych firm za pomocą własnych webhooków. Cloud Functions ogranicza powtarzające się fragmenty kodu, ułatwiając korzystanie z Firebase i Google Cloud w ramach funkcji.
Bezobsługowość Wdrażaj kod JavaScript, TypeScript lub Python na naszych serwerach jednym poleceniem 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, konfiguracją serwera, udostępnianiem nowych serwerów ani wycofywaniem z użytku starych.
Prywatność i bezpieczeństwo logiki użytkownika W wielu przypadkach deweloperzy wolą kontrolować logikę aplikacji na serwerze, aby uniknąć manipulacji po stronie klienta. Czasami nie jest też pożądane, aby kod był poddawany analizie wstecznej. Cloud Functions jest całkowicie odizolowany od klienta, więc możesz mieć pewność, że jest prywatny i zawsze działa zgodnie z Twoimi oczekiwaniami.

Jak to działa?

Po napisaniu i wdrożeniu funkcji serwery Google zaczynają ją natychmiast zarządzać. Funkcję możesz wywołać 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ę zwiększania się lub zmniejszania obciążenia Google szybko zwiększa liczbę instancji serwera wirtualnego potrzebnych do wykonania funkcji. Każda funkcja działa w izolacji, w swoim własnym środowisku z własną konfiguracją.

Cykl życia funkcji działającej w tle

  1. Należy napisać kod nowej funkcji, wybrać dostawcę zdarzeń (np. Cloud Firestore) i określić warunki, w jakich ma ona działać.
  2. Gdy wdrażasz funkcję:
    1. Interfejs wiersza poleceń Firebase tworzy archiwum .zip kodu funkcji, które następnie jest przesyłane do zasobnika Cloud Storage (z prefiksem gcf-sources), a następnie Cloud Functions tworzy w Twoim projekcie repozytorium Artifact Registry (o nazwie gcf-artifacts).
    2. Cloud Build pobiera kod funkcji i kompiluje jej źródło. Logi Cloud Build możesz wyświetlać w konsoli Google Cloud.
    3. Obraz kontenera dla skompilowanego kodu 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 pasuje do warunków funkcji, kod zostanie wywołany.
  4. Jeśli funkcja jest zajęta obsługą wielu zdarzeń, Google tworzy więcej instancji, aby szybciej wykonywać zadania. Jeśli funkcja jest nieaktywna, instancje są usuwane.
  5. Gdy zaktualizujesz funkcję, wdrażając zaktualizowany kod, instancje starszych wersji zostaną usunięte wraz z elementami kompilacji w Artifact Registry i zastąpione nowymi instancjami.
  6. Gdy usuniesz funkcję, wszystkie jej instancje i archiwum ZIP zostaną usunięte, 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 poziomu klienta. Możesz też aktywować funkcje Admin SDK według harmonogramu lub umieścić je w kolejce zadań.

Ścieżka implementacji

Skonfiguruj usługę Cloud Functions Zainstaluj wiersz poleceń Firebase i inicjuj Cloud Functions w projekcie Firebase.
Pisanie funkcji Napisz kod JavaScriptu, TypeScriptu lub Pythona, aby obsługiwać zdarzenia z usług Firebase, usług Google Cloud lub innych dostawców zdarzeń.
Funkcje testowe Aby przetestować funkcje, użyj lokalnego emulatora.
Wdrażanie i monitorowanie Przejdź w projekcie na abonament Blaze z rozliczeniem według wykorzystania i wdróż funkcje za pomocą interfejsu wiersza poleceń Firebase. Następnie możesz wyświetlić logi i je wyszukiwać w konsoli Google Cloud.

Dalsze kroki