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

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

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

Уведомляйте пользователей, когда происходит что-то интересное

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

Схема, показывающая процесс работы приложения, описанный ниже.

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

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

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

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

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

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

Схема, показывающая процесс работы приложения, описанный ниже.

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

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

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

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

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

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

Схема, показывающая процесс работы приложения, описанный ниже.

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

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

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

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

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

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

Схема, показывающая процесс работы приложения, описанный ниже.

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

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

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