Cloud Functions daje deweloperom dostęp do Firebase i Google Cloud zdarzeń, a także skalowalną moc obliczeniową do uruchamiania kodu w odpowiedzi na te zdarzenia. Oczekuje się, że aplikacje Firebase będą wykorzystywać Cloud Functions w unikalny sposób, aby spełniać swoje unikalne wymagania, ale typowe przypadki użycia mogą obejmować te obszary:
- Powiadamianie użytkowników o interesujących wydarzeniach
- Przeprowadzanie czyszczenia i konserwacji bazy danych.
- Wykonywanie wymagających zadań w chmurze zamiast w aplikacji.
- Integracja z usługami i interfejsami API innych firm.
Zapoznaj się z przypadkami użycia i przykładami w każdej kategorii, która Cię interesuje, a następnie przejdź do naszego samouczka Rozpoczęcie lub do konkretnych przewodników dotyczących zdarzeń uwierzytelniania, zdarzeń analitycznych i innych.
Powiadamianie użytkowników o ciekawych wydarzeniach
Deweloperzy mogą używać Cloud Functions, aby angażować użytkowników i informować ich o istotnych nowościach dotyczących aplikacji. Weźmy na przykład aplikację, która umożliwia użytkownikom śledzenie aktywności innych użytkowników. Za każdym razem, gdy użytkownik zacznie śledzić innego użytkownika, w Cloud Functions zostanie zapisana odpowiednia informacja.Realtime Database To zdarzenie zapisu może następnie wywołać funkcję, która utworzy powiadomienia Firebase Cloud Messaging (FCM), aby poinformować odpowiednich użytkowników o tym, że zyskali nowych obserwujących.
- Funkcja jest wywoływana podczas zapisywania danych w ścieżce Realtime Database, w której są przechowywani obserwujący.
- Funkcja tworzy wiadomość do wysłania za pomocą FCM.
- FCM wysyła powiadomienie na urządzenie użytkownika.
Aby przejrzeć działający kod, zapoznaj się z przykładowym kodem na GitHubie:
- Node.js: fcm-notifications
- Python: fcm-notifications
Inne ciekawe przypadki użycia powiadomień
- Wysyłaj e-maile z potwierdzeniem do użytkowników, którzy subskrybują newsletter.
- Wysyłanie e-maila powitalnego po zakończeniu rejestracji przez użytkownika.
- Wysyłaj SMS-a z potwierdzeniem, gdy użytkownik utworzy nowe konto.
Przeprowadzanie czyszczenia i konserwacji bazy danych
Dzięki Cloud Functions obsłudze zdarzeń bazy danych 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 (np. na wielkie litery) określonych ciągów znaków w wiadomościach użytkowników. Może to wyglądać następująco:
- Funkcja obsługi zdarzeń bazy danych nasłuchuje zdarzeń zapisu w określonej ścieżce i pobiera dane zdarzenia zawierające tekst wiadomości.
- Funkcja przetwarza tekst, aby zmienić ciągi znaków na wielkie litery.
- Funkcja zapisuje zaktualizowany tekst z powrotem w bazie danych.
Aby przejrzeć działający kod, zapoznaj się z przykładowym kodem na GitHubie:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Inne przypadki użycia sanityzacji i konserwacji bazy danych
- Trwale usuń 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.
- Kopiowanie danych z Realtime Database do Google Cloud BigQuery.
- Konwertuj tekst na emotikony.
- Zarządzanie obliczonymi metadanymi rekordów bazy danych.
Wykonywanie wymagających zadań w chmurze zamiast w aplikacji
Możesz skorzystać z Cloud Functions, aby przenieść do chmury Google zadania wymagające dużych zasobów (obciążające procesor lub sieć) zamiast wykonywać je na urządzeniu użytkownika, co zwiększy szybkość działania aplikacji. Możesz na przykład napisać funkcję, która będzie nasłuchiwać przesyłania obrazów do Cloud Storage, pobierać obraz do instancji, w której działa funkcja, modyfikować go i przesyłać z powrotem do Cloud Storage. Modyfikacje mogą obejmować zmianę rozmiaru, przycięcie lub konwersję obrazów za pomocą narzędzi takich jak sharp lub Pillow.
- Funkcja jest aktywowana, gdy plik obrazu zostanie przesłany do Cloud Storage.
- Funkcja pobiera obraz i tworzy jego miniaturę.
- Funkcja zapisuje lokalizację miniatury w bazie danych, dzięki czemu aplikacja kliencka może ją znaleźć i użyć.
- Funkcja przesyła miniaturę z powrotem do Cloud Storage w nowym miejscu.
- Aplikacja pobierze link do miniatury.
Przykładowe przetwarzanie obrazu znajdziesz w przewodniku po obsłudze zdarzeń Cloud Storage.
Inne przykłady zadań wsadowych w chmurze Firebase
- Okresowe usuwanie nieużywanych kont Firebase Node.js | Python.
- Automatyczne tworzenie kopii zapasowych przesłanych obrazów Node.js | Python.
- wysyłać e-maile zbiorcze do użytkowników;
- okresowo agregować i podsumowywać dane,
- przetwarzać kolejkę oczekujących zadań,
Integracja z zewnętrznymi usługami i interfejsami API
Cloud Functions może pomóc w lepszym działaniu aplikacji z innymi usługami, wywołując i udostępniając interfejsy API. Na przykład aplikacja używana do współpracy nad projektami może publikować zatwierdzenia w GitHubie na czacie grupy roboczej.
- Użytkownik przesyła zatwierdzenia do repozytorium GitHub.
- Funkcja HTTPS jest aktywowana przez interfejs GitHub Webhook API.
- Funkcja wysyła powiadomienie o zatwierdzeniu do kanału Slack zespołu.
Inne sposoby integracji z usługami i interfejsami API innych firm
- Analizuj i taguj przesłane obrazy za pomocą Cloud Vision API od Google.
- tłumaczyć wiadomości za pomocą Tłumacza Google;
- Użyj uwierzytelniania niestandardowego, aby logować użytkowników.
- Wysyłanie prośby do webhooka podczas zapisywania danych w Realtime Database.
- Włącz wyszukiwanie pełnotekstowe w elementach Realtime Database.
- przetwarzać płatności od użytkowników,
- Tworzenie automatycznych odpowiedzi na połączenia telefoniczne i SMS-y.
- Utwórz czatbota za pomocą Asystenta Google.