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 и инициализируйте Cloud Functions в проекте Firebase. | |
| Записывать функции | Напишите код на JavaScript, TypeScript или Python, чтобы обрабатывать события из сервисов Firebase, Google Cloud или других поставщиков событий. | |
| Функции тестирования | Используйте локальный эмулятор, чтобы протестировать функции. | |
| Развертывание и мониторинг | Перейдите на тарифный план Blaze с оплатой по мере использования и разверните функции с помощью интерфейса командной строки Firebase. После этого вы сможете просматривать журналы и выполнять в них поиск в консоли Google Cloud. |
Дальнейшие действия
- Начните настраивать, создавать и развертывать функции.
- Подробнее о том, что можно делать с помощью функций…
- Попробуйте практическую работу Cloud Functions.