Cloud Functions для Firebase
Уже используете облачные функции в Google Cloud ? Узнайте больше о том, как Firebase вписывается в эту картину.
Ключевые возможности
Интегрирует функции Firebase и соединяет Firebase с Google Cloud. | Написанные вами функции могут реагировать на события, генерируемые различными функциями Firebase и Google Cloud , от триггеров аутентификации Firebase до триггеров облачного хранилища . Интегрируйте функции Firebase с помощью Admin SDK вместе с облачными функциями, а также интегрируйтесь со сторонними сервисами, написав собственные веб-перехватчики. 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 создает
- Когда поставщик событий генерирует событие, соответствующее условиям функции, вызывается код.
- Если функция занята обработкой большого количества событий, Google создает больше экземпляров, чтобы ускорить работу. Если функция простаивает, экземпляры очищаются.
- Когда вы обновляете функцию путем развертывания обновленного кода, экземпляры старых версий очищаются вместе с артефактами сборки в Artifact Registry и заменяются новыми экземплярами.
- Когда вы удаляете функцию, все экземпляры и zip-архивы очищаются вместе со связанными артефактами сборки в Artifact Registry . Соединение между функцией и поставщиком событий удаляется.
Помимо прослушивания событий с помощью фоновой функции, вы можете вызывать функции напрямую с помощью HTTP-запроса или вызова клиента . Вы также можете запускать функции по фиксированному расписанию или ставить функции задач в очередь с помощью Admin SDK .
Путь реализации
Настройка Cloud Functions | Установите интерфейс командной строки Firebase и инициализируйте Cloud Functions в своем проекте Firebase. | |
Написание функций | Напишите код JavaScript, код TypeScript или код Python для обработки событий из сервисов Firebase, сервисов Google Cloud или других поставщиков событий. | |
Тестовые функции | Используйте локальный эмулятор для проверки своих функций. | |
Развертывание и мониторинг | Включите биллинг для своего проекта и разверните свои функции с помощью интерфейса командной строки Firebase . Вы можете использовать Google Cloud Console для просмотра и поиска в журналах. |
Следующие шаги
- Приступайте к настройке, созданию и развертыванию функций.
- Узнайте больше о том, что можно делать с функциями .
- Попробуйте кодовую лабораторию Cloud Functions .