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

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 Translate.
  • Используйте пользовательскую аутентификацию для входа пользователей.
  • Отправьте запрос на вебхук для записи в Realtime Database .
  • Включить полнотекстовый поиск по элементам Realtime Database .
  • Обработка платежей от пользователей.
  • Создавайте автоответы на телефонные звонки и SMS-сообщения.
  • Создайте чат-бота с помощью Google Assistant.