Cloud Functions предоставляют разработчикам доступ к событиям Firebase и Google Cloud , а также масштабируемую вычислительную мощность для запуска кода в ответ на эти события. Хотя ожидается, что приложения Firebase будут использовать облачные функции уникальными способами для удовлетворения своих уникальных требований, типичные сценарии использования могут попадать в следующие области:
- Уведомляйте пользователей, когда происходит что-то интересное .
- Выполнять очистку и обслуживание базы данных .
- Выполняйте интенсивные задачи в облаке, а не в приложении .
- Интеграция со сторонними сервисами и API .
Просмотрите варианты использования и примеры для каждой интересующей вас категории, а затем перейдите к нашему руководству по началу работы или к конкретным практическим руководствам по событиям аутентификации , событиям аналитики и т. д.
Уведомляйте пользователей, когда происходит что-то интересное
Разработчики могут использовать Cloud Functions , чтобы поддерживать интерес пользователей и получать актуальную информацию о приложении. Рассмотрим, например, приложение, которое позволяет пользователям следить за действиями друг друга в приложении. Каждый раз, когда пользователь добавляет себя в число подписчиков другого пользователя, в Realtime Database происходит запись. Затем это событие записи может активировать функцию для создания уведомлений Firebase Cloud Messaging (FCM), чтобы соответствующие пользователи знали, что у них появились новые подписчики.
- Функция срабатывает при записи в путь Realtime Database , где хранятся подписчики.
- Функция составляет сообщение для отправки через FCM .
- FCM отправляет уведомление на устройство пользователя.
Чтобы просмотреть рабочий код, посмотрите пример кода на GitHub:
- Node.js: fcm-уведомления
- Python: fcm-уведомления
Другие интересные варианты использования уведомлений
- Отправляйте электронные письма с подтверждением пользователям, подписавшимся на рассылку новостей.
- Отправьте приветственное письмо, когда пользователь завершит регистрацию.
- Отправьте SMS-подтверждение, когда пользователь создает новую учетную запись.
Выполнять очистку и обслуживание базы данных
С помощью обработки событий базы данных Cloud Functions вы можете изменять Realtime Database или Cloud Firestore в ответ на поведение пользователя, сохраняя систему в желаемом состоянии. Например, вы можете отслеживать события записи и изменять формат (например, переводить все в верхний регистр) определенных строк в сообщениях пользователей. Вот как это может работать:
- Обработчик событий базы данных функции прослушивает события записи по определенному пути и извлекает данные о событиях, содержащие текст сообщений.
- Функция обрабатывает текст, переводя строки в верхний регистр.
- Функция записывает обновленный текст обратно в базу данных.
Чтобы просмотреть рабочий код, посмотрите пример кода на GitHub:
- Node.js: верхний регистр-rtdb
- Python: верхний регистр-rtdb
Другие варианты использования очистки и обслуживания базы данных
- Очистить контент удаленного пользователя из Realtime Database .
- Ограничьте количество дочерних узлов в базе данных Firebase.
- Отслеживайте количество элементов в списке Realtime Database .
- Скопируйте данные из Realtime Database в Google Cloud BigQuery.
- Преобразование текста в смайлы.
- Управляйте вычисленными метаданными для записей базы данных.
Выполняйте интенсивные задачи в облаке, а не в приложении.
Вы можете воспользоваться преимуществами Cloud Functions , чтобы переложить на облако Google ресурсоемкую работу (нагруженный процессор или сеть) вместо того, чтобы запускать ее на устройстве пользователя, что повышает скорость реагирования вашего приложения. Например, вы можете написать функцию для прослушивания загрузки изображений в Cloud Storage , загрузить изображение в экземпляр, на котором выполняется эта функция, изменить его и загрузить обратно в Cloud Storage . Ваши изменения могут включать изменение размера, обрезку или преобразование изображений с помощью таких инструментов, как Sharp или Pillow .
- Функция срабатывает, когда файл изображения загружается в Cloud Storage .
- Функция загружает изображение и создает его миниатюрную версию.
- Функция записывает местоположение этого эскиза в базу данных, чтобы клиентское приложение могло его найти и использовать.
- Функция загружает миниатюру обратно в Cloud Storage в новом месте.
- Приложение загружает ссылку на миниатюру.
Пошаговый пример обработки изображения см. в руководстве по обработке событий Cloud Storage .
Другие примеры пакетных заданий в облаке Firebase
- Периодически удаляйте неиспользуемые учетные записи Firebase Node.js | Питон .
- Автоматическое резервное копирование загруженных изображений Node.js | Питон .
- Отправляйте массовую рассылку пользователям.
- Периодически агрегируйте и суммируйте данные.
- Обработка очереди ожидающих работ.
Интеграция со сторонними сервисами и API
Cloud Functions могут помочь вашему приложению лучше работать с другими сервисами, вызывая и предоставляя доступ к веб-API. Например, приложение, используемое для совместной разработки, может публиковать коммиты GitHub в чате рабочей группы.
- Пользователь отправляет коммиты в репозиторий GitHub.
- Функция HTTPS запускается через API веб-перехватчика GitHub .
- Функция отправляет уведомление о фиксации в канал команды Slack.
Другие способы интеграции со сторонними сервисами и API.
- Используйте Google Cloud Vision API для анализа и маркировки загруженных изображений.
- Переведите сообщения с помощью Google Translate.
- Используйте пользовательскую аутентификацию для входа пользователей.
- Отправьте запрос на веб-перехватчик при записи Realtime Database .
- Включите полнотекстовый поиск по элементам Realtime Database .
- Обработка платежей от пользователей.
- Создавайте автоответы на телефонные звонки и SMS-сообщения.
- Создайте чат-бота с помощью Google Assistant.