Cloud Functions dla Firebase
Korzystasz już z Cloud Functions w Google Cloud? Więcej informacji o tym, jak Firebase wpisuje się w ten obraz.
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
- Piszesz kod nowej funkcji, wybierając dostawcę zdarzeń (np.Cloud Firestore) i określając warunki, w których funkcja ma być wykonywana.
- Podczas wdrażania funkcji:
- Interfejs wiersza poleceń Firebase tworzy archiwum
.zip
z kodem funkcji, które jest następnie przesyłane do zasobnika Cloud Storage (z prefiksemgcf-sources
), zanim Cloud Functions utworzy w Twoim projekcie repozytorium Artifact Registry (o nazwiegcf-artifacts
). - Cloud Build pobiera kod funkcji i tworzy źródło funkcji. Dzienniki Cloud Build możesz wyświetlić w Google Cloudkonsoli.
- 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.
- Interfejs wiersza poleceń Firebase tworzy archiwum
- 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.
- 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.
- 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.
- 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
- Zacznij konfigurować, tworzyć i wdrażać funkcje.
- Dowiedz się więcej o możliwościach, jakie dają funkcje.
- Wypróbuj Cloud Functionsćwiczenia z programowania.