Cloud Functions для Firebase
Начало работы Примеры использования
Основные функции
| Интегрирует функции Firebase и связывает Firebase с Google Cloud. | Написанные вами функции могут реагировать на события, созданные различными функциями Firebase и Google Cloud, от триггеров Firebase Authentication до триггеров Cloud Storage. Интегрируйте функции Firebase с помощью Admin SDK и Cloud Functions, а также сторонние сервисы, создавая собственные веб-перехватчики. Cloud Functions сокращает количество стандартного кода, упрощая использование Firebase и Google Cloud в вашей функции. |
| Отсутствие необходимости в обслуживании | Разверните код JavaScript, TypeScript или Python на наших серверах с помощью одной команды в командной строке. После этого Firebase автоматически масштабирует вычислительные ресурсы в соответствии с моделями использования ваших пользователей. Вам не нужно беспокоиться об учетных данных, конфигурации сервера, инициализации новых серверов или выводе из эксплуатации старых. |
| Надежная защита кода | Во многих случаях разработчики предпочитают управлять логикой приложения на сервере, чтобы избежать несанкционированного доступа на стороне клиента. Кроме того, иногда нежелательно, чтобы код можно было декомпилировать. Cloud Functions полностью изолирован от клиента, поэтому вы можете быть уверены в его конфиденциальности и в том, что он всегда будет делать именно то, что вам нужно. |
Принципы работы
После того как вы напишете и развернете функцию, серверы Google сразу же начнут ею управлять. Функцию можно запустить напрямую с помощью HTTP-запроса, Admin SDK или запланированного задания. В случае с фоновыми функциями серверы Google отслеживают события и запускают функцию при срабатывании триггера.
По мере того как нагрузка увеличивается или уменьшается, Google быстро масштабирует количество экземпляров виртуального сервера, необходимых для выполнения вашей функции. Каждая функция выполняется изолированно, в собственной среде с собственной конфигурацией.
Жизненный цикл фоновой функции
- Вы пишете код для новой функции, выбираете поставщика событий (например, Cloud Firestore) и определяете условия, при которых функция должна выполняться.
- При развертывании функции:
- Интерфейс командной строки Firebase создает архив
.zipс кодом функции, который затем загружается в сегмент Cloud Storage (с префиксомgcf-sources). После этого Cloud Functions создает в вашем проекте репозиторий Artifact Registry с названиемgcf-artifacts. - Cloud Build получает код функции и создает ее источник. Вы можете просматривать журналы Cloud Build в консоли Google Cloud.
- Образ контейнера с кодом встроенных функций загружается в частный репозиторий Artifact Registry в вашем проекте (с названием
gcf-artifacts), и ваша новая функция развертывается.
- Интерфейс командной строки Firebase создает архив
- Когда поставщик событий генерирует событие, соответствующее условиям функции, вызывается код. К функции прикреплен сервисный аккаунт, который можно использовать для доступа к другим сервисам Firebase с помощью Firebase Admin SDK.
- Если функция обрабатывает много событий, Google создает дополнительные экземпляры, чтобы ускорить работу. Если функция не используется, экземпляры удаляются.
- Когда вы обновляете функцию, развертывая измененный код, экземпляры более старых версий удаляются вместе с артефактами сборки в Artifact Registry и заменяются новыми экземплярами.
- При удалении функции все ее экземпляры и ZIP-архивы, а также связанные с ней артефакты сборки в Artifact Registry удаляются. Связь между функцией и поставщиком событий будет удалена.
Помимо прослушивания событий с помощью фоновой функции, вы можете вызывать функции напрямую с помощью HTTP-запроса или вызова от клиента. Вы также можете запускать функции по фиксированному расписанию или ставить функции задач в очередь с помощью Admin SDK.
Путь реализации
| Настроить Cloud Functions | Установите Firebase CLI и инициализируйте Cloud Functions в проекте Firebase. | |
| Записывать функции | Напишите код JavaScript, TypeScript или Python для обработки событий из сервисов Firebase, сервисов Google Cloud или других поставщиков событий. | |
| Функции тестирования | Используйте локальный эмулятор, чтобы протестировать функции. | |
| Развертывание и мониторинг | Перейдите на тарифный план Blaze с оплатой по мере использования и разверните функции с помощью интерфейса командной строки Firebase. Затем вы можете использовать консоль Google Cloud для просмотра и поиска в журналах. |
Дальнейшие действия
- Начните работу с настройкой, созданием и развертыванием функций.
- Подробнее о том, что можно делать с помощью функций…
- Попробуйте практическую работу Cloud Functions.