Cloud Functions предоставляет разработчикам доступ к событиям Firebase и Google Cloud , а также масштабируемые вычислительные мощности для выполнения кода в ответ на эти события. Хотя ожидается, что приложения Firebase будут использовать Cloud Functions уникальным образом для удовлетворения своих уникальных требований, типичные сценарии использования могут относиться к следующим областям:
- Уведомлять пользователей о происходящих интересных событиях .
- Выполните очистку и обслуживание базы данных .
- Выполняйте ресурсоемкие задачи в облаке, а не в своем приложении .
- Интеграция со сторонними сервисами и API .
Ознакомьтесь с вариантами использования и примерами для каждой интересующей вас категории, а затем перейдите к нашему руководству по началу работы или к конкретным инструкциям по событиям аутентификации , аналитическим событиям и многому другому.
Уведомлять пользователей о происходящих интересных событиях
Developers can use Cloud Functions to keep users engaged and up to date with relevant information about an app. Consider, for example, an app that allows users to follow one another's activities in the app. Each time a user adds themselves as a follower of another user, a write occurs in the Realtime Database . Then this write event could trigger a function to create Firebase Cloud Messaging (FCM) notifications to let the appropriate users know that they have gained new followers.

- Функция срабатывает при записи в путь Realtime Database где хранятся данные о подписчиках.
- Функция формирует сообщение для отправки через FCM .
- FCM отправляет уведомление на устройство пользователя.
Чтобы проверить работоспособность кода, ознакомьтесь с примером кода на GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
Другие интересные варианты использования уведомлений
- Отправляйте подтверждающие письма пользователям, подписавшимся на новостную рассылку.
- Отправьте приветственное письмо после завершения регистрации пользователя.
- При создании пользователем новой учетной записи отправляйте SMS-подтверждение.
Выполнить очистку и обслуживание базы данных.
Благодаря обработке событий базы данных Cloud Functions вы можете изменять Realtime Database или Cloud Firestore в ответ на действия пользователей, поддерживая систему в желаемом состоянии. Например, вы можете отслеживать события записи и изменять формат (например, набирать заглавные буквы) определенных строк в сообщениях пользователей. Вот как это может работать:

- Обработчик событий базы данных этой функции прослушивает события записи по определенному пути и извлекает данные события, содержащие текст сообщения.
- Функция обрабатывает текст, преобразуя строки в верхний регистр.
- Функция записывает обновленный текст обратно в базу данных.
Чтобы проверить работоспособность кода, ознакомьтесь с примером кода на GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Другие варианты использования для очистки и обслуживания баз данных
- Удалите содержимое удаленного пользователя из Realtime Database .
- Ограничьте количество дочерних узлов в базе данных Firebase.
- Отслеживайте количество элементов в списке Realtime Database .
- Копирование данных из Realtime Database в Google Cloud BigQuery.
- Преобразовать текст в эмодзи.
- Управление вычисляемыми метаданными для записей базы данных.
Выполняйте ресурсоемкие задачи в облаке, а не в своем приложении.
You can take advantage of Cloud Functions to offload to the Google cloud resource-intensive work (heavy CPU or networking) instead of running it on a user's device, improving the responsiveness of your app. For instance, you could write a function to listen for image uploads to Cloud Storage , download the image to the instance running the function, modify it, and upload it back to Cloud Storage . Your modifications could include resizing, cropping, or converting images with tools like sharp or Pillow .

- Функция срабатывает при загрузке файла изображения в Cloud Storage .
- Функция загружает изображение и создает его уменьшенную версию.
- Эта функция записывает местоположение миниатюры в базу данных, чтобы клиентское приложение могло найти и использовать её.
- Эта функция загружает миниатюру обратно в Cloud Storage в новое место.
- Приложение загружает ссылку на миниатюру.
Для ознакомления с примером обработки изображений см. руководство по обработке событий Cloud Storage .
Другие примеры пакетных заданий в облаке Firebase.
- Периодически удаляйте неиспользуемые учетные записи Firebase в Node.js | Python .
- Автоматическое резервное копирование загруженных изображений в Node.js | Python .
- Отправляйте пользователям массовые электронные письма.
- Периодически собирайте и обобщайте данные.
- Обработать очередь ожидающих задач.
Интеграция со сторонними сервисами и API.
Cloud Functions может помочь вашему приложению лучше взаимодействовать с другими сервисами, вызывая и предоставляя доступ к веб-API. Например, приложение, используемое для совместной разработки, может публиковать коммиты GitHub в чате рабочей группы.

- Пользователь отправляет коммиты в репозиторий GitHub.
- Функция HTTPS запускается через API веб-перехватчиков GitHub .
- Функция отправляет уведомление о коммите в командный канал Slack.
Другие способы интеграции со сторонними сервисами и API.
- Используйте API Google Cloud Vision для анализа и добавления тегов к загруженным изображениям.
- Переводите сообщения с помощью Google Переводчика.
- Используйте пользовательскую аутентификацию для входа пользователей в систему.
- Отправьте запрос на веб-перехватчик при записи в Realtime Database .
- Включить полнотекстовый поиск по элементам Realtime Database .
- Обрабатывать платежи от пользователей.
- Создавайте автоматические ответы на телефонные звонки и SMS-сообщения.
- Создайте чат-бота с помощью Google Ассистента.