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

Облачные функции предоставляют разработчикам доступ к событиям 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.