Cloud Functions zapewnia deweloperom dostęp do Firebase i zdarzeń Google Cloudoraz skalowalny potencjał obliczeniowy, który umożliwia uruchamianie 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ą dotyczyć 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. Następnie to zdarzenie zapisu może wywołać funkcję tworzenia powiadomień Firebase Cloud Messaging (FCM), aby powiadomić odpowiednich użytkowników o tym, że zdobyli nowych obserwatorów.
- Funkcja jest wywoływana podczas zapisywania danych na ścieżce Realtime Database, na której są przechowywane dane o obserwujących.
- Funkcja tworzy wiadomość do wysłania za pomocą FCM.
- FCM wysyła wiadomość z powiadomieniem na urządzenie użytkownika.
Aby sprawdzić działający kod, przejdź do przykładowego kodu na GitHubie:
- Node.js: fcm-notifications
- Python: fcm-notifications
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 sanityzacji 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, utrzymując system w pożądanym stanie. 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 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 sanityzacji 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.
- Śledź liczbę elementów na liście Realtime Database.
- Skopiuj dane z Realtime Database do Google Cloud BigQuery.
- Konwertuj tekst na emotikony.
- zarządzać obliczonymi metadanymi 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 wywoływana, gdy plik obrazu zostanie przesłany 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.
- Automatyczne tworzenie kopii zapasowych 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żywaj interfejsu Cloud Vision API do analizowania i oznaczania przesłanych obrazów.
- Tłumaczyć wiadomości za pomocą Tłumacza Google.
- Logowanie użytkowników za pomocą uwierzytelniania niestandardowego.
- Wysyłanie żądania do webhooka po zapisie w Realtime Database.
- Włącz wyszukiwanie pełnotekstowe elementów Realtime Database.
- Przetwarzanie płatności od użytkowników.
- tworzyć automatyczne odpowiedzi na połączenia telefoniczne i SMS-y;
- Utwórz chatbota za pomocą Asystenta Google.