Cloud Functions daje programistom dostęp do zdarzeń Firebase i Google Cloud, a także do skalowalnych mocy obliczeniowych do uruchamiania kodu w odpowiedzi na te zdarzenia. Aplikacje Firebase będą wykorzystywać funkcje Cloud Functions w niepowtarzalny sposób, aby spełniać unikalne wymagania. Typowe przypadki użycia mogą należeć do tych obszarów:
- Powiadamianie użytkowników, gdy dzieje się coś interesującego.
- Wykonaj czyszczenie i konserwację bazy danych.
- Wykonuj intensywne zadania w chmurze, a nie w aplikacji.
- Integracja z usługami i interfejsami API innych firm.
Zapoznaj się z przypadkami użycia i przykładami dotyczącymi każdej kategorii, która Cię interesuje, a potem przejdź do naszego samouczka Rozpoczęcie lub do konkretnych przewodników dotyczących zdarzeń uwierzytelniania, zdarzeń Analytics i innych tematów.
Powiadamianie użytkowników, gdy dzieje się coś interesującego
Deweloperzy mogą używać tabeli Cloud Functions, aby zachęcać użytkowników do interakcji i utrzymywać ich na bieżąco w zakresie istotnych informacji o aplikacji. Weźmy na przykład aplikację, która umożliwia użytkownikom śledzenie aktywności innych użytkowników w aplikacji. Za każdym razem, gdy użytkownik doda siebie jako obserwatora innego użytkownika, w tabeli Realtime Database nastąpi operacja zapisu. Wtedy to zdarzenie zapisu może aktywować funkcję tworzenia powiadomień Firebase Cloud Messaging (FCM), które informują odpowiednich użytkowników o pozyskaniu nowych obserwatorów.
- Funkcja aktywuje się przy zapisach w ścieżce Realtime Database, w której są przechowywane obserwatorzy.
- Funkcja tworzy wiadomość do wysłania za pomocą FCM.
- FCM wysyła powiadomienie na urządzenie użytkownika.
Aby sprawdzić działający kod, przejdź do przykładowego kodu na GitHubie:
- Node.js: fcm-notifications
- Python: powiadomienia-fcm
Inne interesujące przypadki użycia powiadomień
- Wysyłanie e-maili z potwierdzeniem do użytkowników, którzy subskrybują newsletter.
- Wysyłanie e-maila powitalnego po zakończeniu rejestracji przez użytkownika.
- Wysyłanie potwierdzenia SMS-em, gdy użytkownik utworzy nowe konto.
Przeprowadzanie odkażania i konserwacji bazy danych
Dzięki obsłudze zdarzeń bazy danych Cloud Functions możesz modyfikować Realtime Database lub Cloud Firestore w odpowiedzi na zachowanie użytkowników, zachowując przy tym pożądany stan systemu. Możesz na przykład monitorować zdarzenia zapisu i zmieniać format niektórych ciągów znaków w wiadomościach użytkowników (np. przekształcać je w tekst pisany wyłącznie wielkimi literami). Oto jak to może działać:
- Obsługa zdarzeń bazy danych funkcji nasłuchuje zdarzeń zapisu w określonym katalogu i pobiera dane zdarzenia zawierające tekst wiadomości.
- Funkcja przetwarza tekst, aby zmienić ciągi na wielkie litery.
- Funkcja zapisuje zaktualizowany tekst z powrotem w bazie danych.
Aby sprawdzić działający kod, przejdź do przykładowego kodu na GitHubie:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Inne przypadki użycia sterylizacji i konserwacji bazy danych
- Trwałe usunięcie treści usuniętego użytkownika z Realtime Database.
- Ogranicz liczbę węzłów podrzędnych w bazie danych Firebase.
- Umożliwia śledzenie liczby elementów na liście Realtime Database.
- Skopiuj dane z Realtime Database do Google Cloud BigQuery.
- Konwertowanie tekstu na emotikony.
- Zarządzanie obliczonymi metadanymi dla rekordów bazy danych.
Wykonywanie intensywnych zadań w chmurze zamiast w aplikacji
Możesz użyć funkcji Cloud Functions, aby przekazać do Google Cloud zadania wymagające dużych zasobów (intensywne wykorzystanie procesora lub sieci) zamiast wykonywać je na urządzeniu użytkownika, co poprawia szybkość reakcji aplikacji. Możesz na przykład napisać funkcję, która będzie nasłuchiwać przesyłanych do Cloud Storage obrazów, pobierać obrazy do instancji, w której działa funkcja, modyfikować je i ponownie przesyłać do Cloud Storage. Modyfikacje mogą obejmować zmianę rozmiaru, przycinanie lub konwertowanie obrazów za pomocą narzędzi takich jak sharp czy Pillow.
- Funkcja jest aktywowana po przesłaniu pliku graficznego do Cloud Storage.
- Funkcja pobiera obraz i tworzy jego wersję w postaci miniatury.
- Funkcja zapisuje lokalizację miniatury w bazie danych, aby aplikacja kliencka mogła ją znaleźć i użyć.
- Funkcja przesyła miniaturę z powrotem do Cloud Storage w nowej lokalizacji.
- Aplikacja pobiera link do miniatury.
Przykład przetwarzania obrazu znajdziesz w przewodniku obsługi zdarzeń Cloud Storage.
Inne przykłady zadań zbiorczych w chmurze Firebase
- okresowo usuwać nieużywane konta Firebase Node.js | Python.
- Automatycznie twórz kopie zapasowe przesłanych obrazów. Node.js | Python.
- Wysyłanie zbiorczych e-maili do użytkowników.
- okresowo agregować i podsumowywać dane;
- Przetwarza kolejkę oczekujących zadań.
Integracja z usługami i interfejsami API innych firm
Cloud Functions może pomóc Twojej aplikacji lepiej współpracować z innymi usługami przez wywoływanie i wyświetlanie interfejsów API w internecie. Na przykład aplikacja używana do współpracy nad programowaniem może publikować commity z GitHuba w pokoju czatu grupy roboczej.
- Użytkownik przesyła zatwierdzenia do repozytorium GitHub.
- Funkcja HTTPS jest uruchamiany za pomocą interfejsu GitHub webhook API.
- Funkcja wysyła powiadomienie o zmianie do kanału Slack zespołu.
Inne sposoby integracji z usługami i interfejsami API innych firm
- Użyj interfejsu Google Cloud Vision API do analizowania przesłanych obrazów i oznaczania ich tagami.
- Tłumaczenie wiadomości za pomocą Tłumacza Google.
- Używaj niestandardowego uwierzytelniania do logowania użytkowników.
- Wysyłanie żądania do webhooka po zapisie w Realtime Database.
- Włącz wyszukiwanie pełnotekstowe elementów Realtime Database.
- przetwarzać płatności od użytkowników;
- tworzyć automatyczne odpowiedzi na połączenia telefoniczne i SMS-y.
- Utwórz chatbota za pomocą Asystenta Google.