Co można robić w Cloud Functions?

Cloud Functions daje deweloperom dostęp do zdarzeń Firebase i Google Cloud oraz skalowalną moc obliczeniową do uruchamiania kodu w odpowiedzi na te zdarzenia. Aplikacje w Firebase mogą używać Cloud Functions na różne sposoby, aby spełniać swoje unikalne wymagania, ale typowe przypadki użycia mogą obejmować te obszary:

Zapoznaj się z przypadkami użycia i przykładami dla każdej kategorii, która Cię interesuje, a następnie przejdź do samouczka Pierwsze kroki lub do konkretnych instrukcji dotyczących zdarzeń uwierzytelniania, zdarzeń analitycznych i innych.

Powiadamianie użytkowników o ciekawych wydarzeniach

Deweloperzy mogą używać Cloud Functions, aby utrzymywać zaangażowanie użytkowników i informować ich na bieżąco o istotnych informacjach dotyczących aplikacji. Wyobraźmy sobie na przykład aplikację, która pozwala użytkownikom śledzić wzajemnie swoje działania. Za każdym razem, gdy użytkownik dodaje siebie jako obserwatora innego użytkownika, w Realtime Database następuje zapis. To zdarzenie zapisu może następnie wywołać funkcję, która utworzy powiadomienia Firebase Cloud Messaging (FCM), aby poinformować odpowiednich użytkowników, że mają nowych obserwujących.

Schemat pokazujący opisany poniżej proces w aplikacji

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

Aby sprawdzić działający kod, zobacz przykładowy kod na GitHubie:

Inne ciekawe przypadki użycia powiadomień

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

Czyszczenie i konserwacja bazy danych

Dzięki obsłudze zdarzeń bazy danych Cloud Functions możesz modyfikować Realtime Database lub Cloud Firestore w odpowiedzi na zachowanie użytkownika, utrzymując system w żą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:

Schemat pokazujący opisany poniżej proces w aplikacji

  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 sprawdzić działający kod, zobacz przykładowy kod na GitHubie:

Inne przypadki użycia związane z sanityzacją i konserwacją 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.
  • Skopiuj dane z: Realtime Database do Google Cloud BigQuery.
  • Konwertuj tekst na emotikony.
  • Zarządzaj obliczonymi metadanymi rekordów bazy danych.

wykonywanie zadań wymagających dużej mocy obliczeniowej w chmurze, a nie w aplikacji;

Możesz wykorzystać Cloud Functions, aby przenieść 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 poprawi czas 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, w której działa 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.

Schemat pokazujący opisany poniżej proces w aplikacji

  1. Funkcja jest aktywowana, gdy plik graficzny zostanie przesłany do Cloud Storage.
  2. Funkcja pobiera obraz i tworzy jego miniaturę.
  3. Funkcja zapisuje lokalizację miniatury w bazie danych, dzięki czemu aplikacja kliencka może ją znaleźć i użyć.
  4. Funkcja przesyła miniaturę z powrotem do Cloud Storage w nowej lokalizacji.
  5. Aplikacja pobierze link do miniatury.

Przykładowy proces przetwarzania 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 agreguj i podsumowuj dane.
  • przetwarzanie kolejki 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, wywołując i udostępniając interfejsy API sieci Web. Na przykład aplikacja używana do współpracy nad rozwojem może publikować zatwierdzenia GitHub w pokoju czatu grupy roboczej.

Schemat pokazujący opisany poniżej proces w aplikacji

  1. Użytkownik przesyła zatwierdzenia do repozytorium GitHub.
  2. Funkcja HTTPS jest aktywowana przez interfejs API webhooka GitHuba.
  3. Funkcja wysyła powiadomienie o zatwierdzeniu na kanał zespołu na Slacku.

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

  • Użyj interfejsu Google Cloud Vision API, aby analizować i tagować przesłane obrazy.
  • tłumaczyć wiadomości za pomocą Tłumacza Google,
  • Użyj uwierzytelniania niestandardowego, aby logować użytkowników.
  • Wysyłaj żądanie do webhooka przy zapisach Realtime Database.
  • Włącz wyszukiwanie pełnotekstowe w elementach Realtime Database.
  • przetwarzanie płatności od użytkowników;
  • tworzyć automatyczne odpowiedzi na połączenia telefoniczne i SMS-y;
  • Utwórz czatbota za pomocą Asystenta Google.