Cloud Functions zapewnia programistom dostęp do zdarzeń Firebase i Google Cloud wraz ze skalowalną mocą obliczeniową do uruchamiania kodu w odpowiedzi na te zdarzenia. Chociaż oczekuje się, że aplikacje Firebase będą korzystać z Cloud Functions w unikalny sposób, aby spełnić swoje unikalne wymagania, typowe przypadki użycia mogą należeć do następujących obszarów:
- Powiadamiaj użytkowników, gdy wydarzy się coś interesującego .
- Wykonaj oczyszczanie i konserwację bazy danych .
- Wykonuj intensywne zadania w chmurze zamiast w aplikacji .
- Integruj z usługami i interfejsami API stron trzecich .
Przejrzyj przypadki użycia i przykłady dla każdej interesującej Cię kategorii, a następnie przejdź do naszego samouczka Wprowadzenie lub do konkretnych przewodników z instrukcjami dotyczącymi zdarzeń uwierzytelniania , zdarzeń analitycznych i nie tylko.
Powiadamiaj użytkowników, gdy wydarzy się coś interesującego
Programiści mogą używać Cloud Functions, aby zapewnić użytkownikom zaangażowanie i aktualne informacje o aplikacji. Rozważmy na przykład aplikację, która umożliwia użytkownikom wzajemne śledzenie działań w aplikacji. Za każdym razem, gdy użytkownik dodaje się jako obserwujący innego użytkownika, następuje zapis w bazie danych czasu rzeczywistego. Następnie to zdarzenie zapisu może uruchomić funkcję tworzenia powiadomień Firebase Cloud Messaging (FCM), aby poinformować odpowiednich użytkowników, że zyskali nowych obserwujących.
- Funkcja uruchamia się po zapisie do ścieżki bazy danych czasu rzeczywistego, w której przechowywane są obserwujące.
- Funkcja tworzy wiadomość do wysłania poprzez FCM .
- FCM wysyła powiadomienie na urządzenie użytkownika.
Aby przejrzeć działający kod, zobacz przykładowy kod w GitHub:
- Node.js: powiadomienia fcm
- Python: powiadomienia fcm
Inne ciekawe przypadki użycia powiadomień
- Wysyłaj e-maile z potwierdzeniem do użytkowników zapisujących się do newslettera.
- Wyślij wiadomość powitalną, gdy użytkownik zakończy rejestrację.
- Wyślij wiadomość SMS z potwierdzeniem, gdy użytkownik utworzy nowe konto.
Wykonaj oczyszczanie i konserwację bazy danych
Dzięki obsłudze zdarzeń bazy danych Cloud Functions możesz modyfikować bazę danych Realtime Database lub Cloud Firestore w odpowiedzi na zachowanie użytkownika, utrzymując system w pożądanym stanie. Na przykład możesz monitorować zdarzenia zapisu i zmieniać format (na przykład zmieniać na wielkie litery) niektórych ciągów w wiadomościach użytkowników. Oto jak to mogłoby działać:
- Funkcja obsługi zdarzeń w bazie danych nasłuchuje zdarzeń zapisu w określonej ścieżce i pobiera dane o zdarzeniach zawierające tekst komunikatów.
- Funkcja przetwarza tekst w celu zmiany ciągów znaków na wielkie litery.
- Funkcja zapisuje zaktualizowany tekst z powrotem do bazy danych.
Aby przejrzeć działający kod, zobacz przykładowy kod w GitHub:
- Node.js: wielkie litery-rtdb
- Python: wielkie litery-rtdb
Inne przypadki użycia czyszczenia i konserwacji baz danych
- Usuń zawartość usuniętego użytkownika z bazy danych czasu rzeczywistego.
- Ogranicz liczbę węzłów podrzędnych w bazie danych Firebase.
- Śledź liczbę elementów na liście bazy danych czasu rzeczywistego.
- Skopiuj dane z bazy danych czasu rzeczywistego do Google Cloud BigQuery.
- Konwertuj tekst na emoji.
- Zarządzaj obliczonymi metadanymi dla rekordów bazy danych.
Wykonuj intensywne zadania w chmurze zamiast w aplikacji
Możesz skorzystać z Cloud Functions, aby przenieść do chmury Google pracę wymagającą dużych zasobów (obciążony procesor lub sieć), zamiast uruchamiać ją na urządzeniu użytkownika, poprawiając w ten sposób czas reakcji swojej aplikacji. Możesz na przykład napisać funkcję nasłuchującą przesyłania obrazów do Cloud Storage, pobierać obraz do instancji, w której działa ta funkcja, modyfikować go i przesyłać z powrotem do Cloud Storage. Modyfikacje mogą obejmować zmianę rozmiaru, przycinanie lub konwertowanie obrazów za pomocą narzędzi takich jak Sharp lub Pillow .
- Funkcja uruchamia się po przesłaniu pliku obrazu do Cloud Storage.
- Funkcja pobiera obraz i tworzy jego miniaturę.
- Funkcja zapisuje lokalizację miniatury do bazy danych, dzięki czemu aplikacja kliencka może ją znaleźć i wykorzystać.
- Funkcja przesyła miniaturę z powrotem do Cloud Storage w nowej lokalizacji.
- Aplikacja pobiera link do miniatury.
Aby zapoznać się z przykładem przetwarzania obrazu, zobacz przewodnik po obsłudze zdarzeń Cloud Storage .
Inne przykłady zadań wsadowych w chmurze Firebase
- Okresowo usuwaj nieużywane konta Firebase Node.js | Pyton .
- Automatycznie twórz kopie zapasowe przesłanych obrazów Node.js | Pyton .
- Wysyłaj zbiorcze wiadomości e-mail do użytkowników.
- Okresowo agreguj i podsumowuj dane.
- Przetwórz kolejkę oczekujących prac.
Integruj z usługami i interfejsami API stron trzecich
Cloud Functions mogą pomóc Twojej aplikacji lepiej współpracować z innymi usługami, wywołując i udostępniając internetowe interfejsy API. Na przykład aplikacja używana do współpracy przy programowaniu może publikować zatwierdzenia GitHub w pokoju rozmów grupy roboczej.
- Użytkownik przesyła zatwierdzenia do repozytorium GitHub.
- Funkcja HTTPS jest wyzwalana za pośrednictwem interfejsu API elementu webhook GitHub .
- Funkcja wysyła powiadomienie o zatwierdzeniu do kanału zespołu Slack.
Inne sposoby integracji z usługami i interfejsami API stron trzecich
- Użyj Google Cloud Vision API , aby analizować i oznaczać przesłane obrazy.
- Tłumacz wiadomości za pomocą Tłumacza Google.
- Użyj uwierzytelniania niestandardowego do logowania użytkowników.
- Wyślij żądanie do elementu webhook w przypadku zapisów w bazie danych czasu rzeczywistego.
- Włącz wyszukiwanie pełnotekstowe elementów bazy danych czasu rzeczywistego.
- Przetwarzaj płatności od użytkowników.
- Twórz automatyczne odpowiedzi na połączenia telefoniczne i wiadomości SMS.
- Utwórz chatbota za pomocą Asystenta Google.