Cloud Functions dla Firebase

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

Korzystasz już z Cloud Functions w Google Cloud? Dowiedz się więcej o tym, jak Firebase wpasowuje się w obraz.

Pierwsze kroki Przypadki użycia

Najważniejsze funkcje

Integruje funkcje Firebase i łączy Firebase z Google Cloud

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

Integracja z funkcjami Firebase za pomocą pakietu Admin SDK razem z Cloud Functions i integracja z usługami innych firm przez tworzenie własnych webhooków. Cloud Functions minimalizuje stały kod, co ułatwia używanie Firebase i Google Cloud w funkcji.
Bezobsługowość Wdróż kod JavaScript, TypeScript lub Python na naszych serwerach za pomocą jednego polecenia z wiersza poleceń. Następnie Firebase automatycznie skaluje zasoby obliczeniowe w górę, tak aby pasowały do wzorców wykorzystania użytkowników. Nie musisz zawracać sobie głowy danymi logowania, konfiguracją serwera, udostępnianiem nowych serwerów ani wycofywaniem starych.
Prywatność i bezpieczeństwo logiki użytkownika W wielu przypadkach deweloperzy wolą kontrolować logikę aplikacji na serwerze, aby uniknąć manipulowania po stronie klienta. Czasami nie jest też pożądane zezwolenie na analizowanie wsteczne kodu. Usługa Cloud Functions jest w pełni odizolowana od klienta, dzięki czemu możesz mieć pewność, że usługa jest prywatna i zawsze robi dokładnie to, co chcesz.

Jak to działa?

Gdy zapiszesz i wdrożysz funkcję, serwery Google natychmiast zaczną nią zarządzać. Możesz uruchomić tę funkcję bezpośrednio za pomocą żądania HTTP, pakietu Admin SDK lub zaplanowanego zadania. W przypadku funkcji działających w tle serwery Google nasłuchują zdarzeń i uruchamiają ją po jej wywołaniu.

Gdy obciążenie rośnie lub maleje, Google w reakcji szybko skaluje liczbę instancji serwera wirtualnego potrzebnego do uruchomienia funkcji. Każda funkcja działa niezależnie, we własnym środowisku z własną konfiguracją.

Cykl życia funkcji działającej w tle

  1. Piszesz kod nowej funkcji, wybierasz dostawcę zdarzeń (np. Cloud Firestore) i definiujesz warunki, w których ma działać ta funkcja.
  2. Podczas wdrażania funkcji:
    1. Interfejs wiersza poleceń Firebase tworzy archiwum kodu funkcji .zip, które jest następnie przesyłane do zasobnika Cloud Storage (z przedrostkiem gcf-sources), zanim Cloud Functions utworzy 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świetlić w konsoli Google Cloud.
    3. Obraz kontenera kodu funkcji skompilowanych zostanie przesłany do prywatnego repozytorium Artifact Registry w projekcie (o nazwie gcf-artifacts) i zostanie wdrożona nowa funkcja.
  3. Gdy dostawca zdarzeń generuje zdarzenie, które spełnia warunki funkcji, wywoływany jest kod.
  4. Jeśli funkcja jest zajęta obsługa wielu zdarzeń, Google tworzy więcej instancji, aby szybciej obsłużyć pracę. Jeśli funkcja jest bezczynna, instancje są czyszczone.
  5. Po zaktualizowaniu funkcji przez wdrożenie zaktualizowanego kodu instancje starszych wersji zostaną czyszczone wraz z artefaktami kompilacji w Artifact Registry i zostaną zastąpione nowymi instancjami.
  6. Usunięcie funkcji spowoduje wyczyszczenie wszystkich instancji i archiwów ZIP 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ń z funkcją działającą 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ą pakietu Admin SDK.

Ścieżka implementacji

Konfigurowanie funkcji w Cloud Functions Zainstaluj interfejs wiersza poleceń Firebase i zainicjuj Cloud Functions w projekcie Firebase.
Zapisz funkcje Napisz kod JavaScript, kod TypeScript lub kod w Pythonie do obsługi zdarzeń z usług Firebase, usług Google Cloud lub innych dostawców zdarzeń.
Funkcje testowe Przetestuj funkcje za pomocą lokalnego emulatora.
Wdrażanie i monitorowanie Włącz płatności w projekcie i wdróż funkcje za pomocą interfejsu wiersza poleceń Firebase. Do wyświetlania i przeszukiwania logów możesz używać Google Cloud Console.

Dalsze kroki