Co można robić w Cloud Functions?

Cloud Functions daje deweloperom dostęp do zdarzeń Firebase i Google Cloud oraz do skalowalnej mocy obliczeniowej, która umożliwia uruchamianie kodu w odpowiedzi na te zdarzenia. Oczekujemy, że aplikacje Firebase będą korzystać z Cloud Functions w unikalny sposób, aby spełnić swoje unikalne wymagania, ale typowe przypadki użycia mogą obejmować te obszary:

Zapoznaj się z przypadkami użycia i przykładami w każdej interesującej Cię kategorii, a następnie przejdź do samouczka Wprowadzenie lub do konkretnych przewodników dotyczących zdarzeń uwierzytelniania, zdarzeń Analytics 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 informacjach dotyczących aplikacji. Rozważ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 się do grona obserwujących innego użytkownika, w bazie danych czasu rzeczywistego następuje zapis w Realtime Database. To zdarzenie zapisu może następnie wywołać funkcję tworzenia powiadomień Firebase Cloud Messaging (FCM), aby poinformować odpowiednich użytkowników o tym, że zyskali nowych obserwujących.

Diagram przedstawiający przepływ w aplikacji opisany poniżej

  1. Funkcja jest wywoływana podczas zapisywania w ścieżce Realtime Database, w której są przechowywani obserwujący.
  2. Funkcja tworzy wiadomość do wysłania za pomocą FCM.
  3. FCM wysyła powiadomienie na urządzenie użytkownika.

Aby zapoznać się z działającym kodem, zobacz przykładowy kod na GitHubie:

Inne ciekawe przypadki użycia powiadomień

  • Wysyłanie e-maili z potwierdzeniem do użytkowników, którzy subskrybują newsletter.
  • Wysyłanie e-maila powitalnego, gdy użytkownik zakończy rejestrację.
  • Wysyłanie SMS-a z potwierdzeniem, gdy użytkownik utworzy nowe konto.

Czyszczenie i konserwacja bazy danych

Dzięki obsłudzeniu zdarzeń bazy danych Cloud Functions możesz modyfikować Realtime Database lub Cloud Firestore w odpowiedzi na zachowanie użytkownika, utrzymując system w pożądanym stanie. Możesz na przykład monitorować zdarzenia zapisu i zmieniać format (np. na same wielkie litery) niektórych ciągów znaków w wiadomościach użytkowników. Oto jak to może działać:

Diagram przedstawiający przepływ w aplikacji opisany poniżej

  1. Moduł obsługi zdarzeń bazy danych funkcji nasłuchuje zdarzeń zapisu w określonej ścieżce i pobiera dane zdarzenia zawierające tekst wiadomości.
  2. Funkcja przetwarza tekst, aby zmienić ciągi znaków na wielkie litery.
  3. Funkcja zapisuje zaktualizowany tekst z powrotem w bazie danych.

Aby zapoznać się z działającym kodem, zobacz przykładowy kod na GitHubie:

Inne przypadki użycia czyszczenia i konserwacji bazy danych

  • Usuwanie treści usuniętego użytkownika z Realtime Database.
  • Ograniczanie liczby węzłów podrzędnych w bazie danych Firebase.
  • Śledzenie liczby elementów na liście Realtime Database.
  • Kopiowanie danych z Realtime Database do Google Cloud BigQuery.
  • Konwertowanie tekstu na emotikony.
  • Zarządzanie obliczonymi metadanymi rekordów bazy danych.

Wykonywanie zadań wymagających dużej ilości zasobów w chmurze, a nie w aplikacji

Możesz korzystać z Cloud Functions, aby przenosić do chmury Google zadania wymagające dużej ilości zasobów (dużego obciążenia procesora lub sieci), zamiast uruchamiać je na urządzeniu użytkownika, co zwiększa szybkość reakcji 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, na której działa funkcja, modyfikować go i przesyłać z powrotem do Cloud Storage. Twoje modyfikacje mogą obejmować zmianę rozmiaru, przycinanie lub konwertowanie obrazów za pomocą narzędzi takich jak sharp czy Pillow.

Diagram przedstawiający przepływ w aplikacji opisany poniżej

  1. Funkcja jest wywoływana, gdy plik obrazu zostanie przesłany do Cloud Storage.
  2. Funkcja pobiera obraz i tworzy jego miniaturę.
  3. Funkcja zapisuje lokalizację miniatury w bazie danych, aby aplikacja kliencka mogła ją znaleźć i użyć.
  4. Funkcja przesyła miniaturę z powrotem do Cloud Storage w nowej lokalizacji.
  5. Aplikacja pobiera link do miniatury.

Aby zapoznać się z przykładem przetwarzania obrazu, przeczytaj przewodnik dotyczący obsługi 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łanie zbiorczych e-maili do użytkowników.
  • Okresowe agregowanie i podsumowywanie danych.
  • Przetwarzanie kolejki oczekujących zadań.

Integracja z usługami i interfejsami API innych firm

Cloud Functions może pomóc Twojej aplikacji w lepszej współpracy z innymi usługami, wywołując i udostępniając internetowe interfejsy API. Na przykład aplikacja używana do współpracy przy tworzeniu oprogramowania może publikować zatwierdzenia GitHub w pokoju czatu grupy roboczej.

Diagram przedstawiający przepływ w aplikacji opisany poniżej

  1. Użytkownik przesyła zatwierdzenia do repozytorium GitHub.
  2. Funkcja HTTPS jest wywoływana przez interfejs GitHub webhook API.
  3. Funkcja wysyła powiadomienie o zatwierdzeniu na kanał Slack zespołu.

Inne sposoby integracji z usługami i interfejsami API innych firm

  • Analizowanie i oznaczanie przesłanych obrazów za pomocą interfejsu Google Cloud Vision API.
  • Tłumaczenie wiadomości za pomocą Tłumacza Google.
  • Logowanie użytkowników za pomocą niestandardowego uwierzytelniania.
  • Wysyłanie żądania do webhooka podczas zapisywania w bazie danych czasu rzeczywistego.Realtime Database
  • Włączanie wyszukiwania pełnotekstowego w elementach Realtime Database.
  • Przetwarzanie płatności od użytkowników.
  • Tworzenie automatycznych odpowiedzi na połączenia telefoniczne i SMS-y.
  • Tworzenie chatbotów za pomocą Asystenta Google.