Что можно делать с помощью облачных функций?

Cloud Functions предоставляет разработчикам доступ к событиям Firebase и Google Cloud , а также масштабируемые вычислительные мощности для выполнения кода в ответ на эти события. Хотя ожидается, что приложения Firebase будут использовать Cloud Functions уникальным образом для удовлетворения своих уникальных требований, типичные сценарии использования могут относиться к следующим областям:

Ознакомьтесь с вариантами использования и примерами для каждой интересующей вас категории, а затем перейдите к нашему руководству по началу работы или к конкретным инструкциям по событиям аутентификации , аналитическим событиям и многому другому.

Уведомлять пользователей о происходящих интересных событиях

Разработчики могут использовать Cloud Functions , чтобы поддерживать вовлеченность пользователей и предоставлять им актуальную информацию о приложении. Рассмотрим, например, приложение, позволяющее пользователям следить за действиями друг друга. Каждый раз, когда пользователь добавляет себя в качестве подписчика другого пользователя, происходит запись в Realtime Database . Затем это событие записи может запустить функцию для создания уведомлений Firebase Cloud Messaging (FCM), чтобы сообщить соответствующим пользователям о появлении новых подписчиков.

Диаграмма, иллюстрирующая описанный ниже алгоритм работы приложения.

  1. Функция срабатывает при записи в путь Realtime Database где хранятся данные о подписчиках.
  2. Функция формирует сообщение для отправки через FCM .
  3. FCM отправляет уведомление на устройство пользователя.

Чтобы проверить работоспособность кода, ознакомьтесь с примером кода на GitHub:

Другие интересные варианты использования уведомлений

  • Отправляйте подтверждающие письма пользователям, подписавшимся на новостную рассылку.
  • Отправьте приветственное письмо после завершения регистрации пользователя.
  • При создании пользователем новой учетной записи отправляйте SMS-подтверждение.

Выполнить очистку и обслуживание базы данных.

Благодаря обработке событий базы данных Cloud Functions вы можете изменять Realtime Database или Cloud Firestore в ответ на действия пользователей, поддерживая систему в желаемом состоянии. Например, вы можете отслеживать события записи и изменять формат (например, набирать заглавные буквы) определенных строк в сообщениях пользователей. Вот как это может работать:

Диаграмма, иллюстрирующая описанный ниже алгоритм работы приложения.

  1. Обработчик событий базы данных этой функции прослушивает события записи по определенному пути и извлекает данные события, содержащие текст сообщения.
  2. Функция обрабатывает текст, преобразуя строки в верхний регистр.
  3. Функция записывает обновленный текст обратно в базу данных.

Чтобы проверить работоспособность кода, ознакомьтесь с примером кода на GitHub:

Другие варианты использования для очистки и обслуживания баз данных

  • Удалите содержимое удаленного пользователя из Realtime Database .
  • Ограничьте количество дочерних узлов в базе данных Firebase.
  • Отслеживайте количество элементов в списке Realtime Database .
  • Копирование данных из Realtime Database в Google Cloud BigQuery.
  • Преобразовать текст в эмодзи.
  • Управление вычисляемыми метаданными для записей базы данных.

Выполняйте ресурсоемкие задачи в облаке, а не в своем приложении.

Вы можете использовать Cloud Functions для переноса ресурсоемких задач (требующих больших вычислительных мощностей или сети) в облако Google, вместо запуска их на устройстве пользователя, что повысит скорость отклика вашего приложения. Например, вы можете написать функцию, которая будет отслеживать загрузку изображений в Cloud Storage , загружать изображение на экземпляр, на котором запущена функция, изменять его и загружать обратно в Cloud Storage . Ваши изменения могут включать изменение размера, обрезку или преобразование изображений с помощью таких инструментов, как Sharp или Pillow .

Диаграмма, иллюстрирующая описанный ниже алгоритм работы приложения.

  1. Функция срабатывает при загрузке файла изображения в Cloud Storage .
  2. Функция загружает изображение и создает его уменьшенную версию.
  3. Эта функция записывает местоположение миниатюры в базу данных, чтобы клиентское приложение могло найти и использовать её.
  4. Эта функция загружает миниатюру обратно в Cloud Storage в новое место.
  5. Приложение загружает ссылку на миниатюру.

Для ознакомления с примером обработки изображений см. руководство по обработке событий Cloud Storage .

Другие примеры пакетных заданий в облаке Firebase.

  • Периодически удаляйте неиспользуемые учетные записи Firebase в Node.js | Python .
  • Автоматическое резервное копирование загруженных изображений в Node.js | Python .
  • Отправляйте пользователям массовые электронные письма.
  • Периодически собирайте и обобщайте данные.
  • Обработать очередь ожидающих задач.

Интеграция со сторонними сервисами и API.

Cloud Functions может помочь вашему приложению лучше взаимодействовать с другими сервисами, вызывая и предоставляя доступ к веб-API. Например, приложение, используемое для совместной разработки, может публиковать коммиты GitHub в чате рабочей группы.

Диаграмма, иллюстрирующая описанный ниже алгоритм работы приложения.

  1. Пользователь отправляет коммиты в репозиторий GitHub.
  2. Функция HTTPS запускается через API веб-перехватчиков GitHub .
  3. Функция отправляет уведомление о коммите в командный канал Slack.

Другие способы интеграции со сторонними сервисами и API.

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