Cloud Functions dla Firebase

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

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 Firebase i Google Cloud usługi, od aktywatorów uwierzytelniania Firebase po aktywatory Cloud Storage.

Integracja z usługami Firebase za pomocą pakietu Admin SDK i Cloud Functions oraz integracja z usługami innych firm dzięki zastosowaniu własnych webhooków. Cloud Functions pozwala zminimalizować ilość powtarzalnego kodu, co ułatwi Ci wykorzystywanie usług Firebase i Google Cloud we własnych funkcjach.
Bezobsługowość Wdrażaj swój kod w języku 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, konfigurowaniem 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 uniemożliwić wprowadzanie do niej zmian po stronie klienta. Niekiedy też użytkownik chce zablokować możliwość analizowania wstecznego kodu. Cloud Functions jest całkowicie odizolowana od klienta, dzięki czemu masz gwarancję zachowania prywatności i pewność, że będzie robić dokładnie to, czego chcesz.

Jak to działa?

Gdy napiszesz i wdrożysz funkcję, serwery Google natychmiast zaczną nią zarządzać. Możesz wywołać funkcję 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 aktywowana.

Gdy obciążenie wzrasta lub maleje, Google szybko skaluje liczbę instancji serwera wirtualnego potrzebnych do uruchomienia 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. Piszesz kod nowej funkcji, wybierając dostawcę zdarzeń (np. Cloud Firestore) i określając warunki, w jakich funkcja ma być wykonywana.
  2. Gdy wdrożysz funkcję:
    1. Interfejs CLI 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. Logi Cloud Build możesz wyświetlić w Google Cloud konsoli.
    3. Obraz kontenera z kodem skompilowanych funkcji jest przesyłany do prywatnego Artifact Registry repozytorium 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. Funkcja ma dołączone konto usługi które można wykorzystać do uzyskania dostępu do innych usług Firebase za pomocą pakietu Firebase Admin SDK.
  4. Jeśli funkcja jest zajęta obsługą wielu zdarzeń, Google tworzy więcej instancji, aby przyspieszyć pracę. Jeśli funkcja jest nieaktywna, instancje są czyszczone.
  5. Gdy zaktualizujesz funkcję, wdrażając zaktualizowany kod, instancje starszych wersji są czyszczone wraz z artefaktami kompilacji w Artifact Registry, i zastępowane nowymi instancjami.
  6. Gdy usuniesz funkcję, wszystkie instancje i pliki ZIP zostaną wyczyszczone, wraz z powiązanymi artefaktami 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 według ustalonego harmonogramu lub dodawać funkcje zadań do kolejki za pomocą Admin SDK.

Ścieżka implementacji

Skonfiguruj Cloud Functions Zainstaluj Firebase CLI i zainicjuj Cloud Functions w projekcie Firebase.
Napisz funkcje Napisz kod w języku JavaScript, TypeScript lub Python aby obsługiwać zdarzenia z usług Firebase usług, Google Cloud usług lub innych dostawców zdarzeń.
Przetestuj funkcje Aby przetestować funkcje, użyj emulatora lokalnego.
Wdróż i monitoruj Uaktualnij projekt do planu taryfowego Blaze z płatnością według wykorzystania i wdróż funkcje za pomocą Firebase CLI. Następnie możesz użyć Google Cloud konsoli , aby wyświetlać i przeszukiwać logi.

Dalsze kroki