Cloud Functions для Firebase

Cloud Functions for Firebase — это бессерверная платформа, которая позволяет автоматически запускать серверный код в ответ на события, вызванные фоновыми событиями, запросами HTTPS, Admin SDK или заданиями Cloud Scheduler . Ваш код JavaScript, TypeScript или Python хранится в инфраструктуре Google Cloud и выполняется в управляемой среде. Нет необходимости управлять и масштабировать собственные серверы.

Уже используете облачные функции в 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 реагирует быстрым масштабированием количества экземпляров виртуальных серверов, необходимых для запуска вашей функции. Каждая функция выполняется изолированно, в своей среде со своей конфигурацией.

Жизненный цикл фоновой функции

  1. Вы пишете код для новой функции, выбираете поставщи��а событий (например, Cloud Firestore ) и определяете условия, при которых функция должна выполняться.
  2. Когда вы развертываете свою функцию:
    1. Интерфейс командной строки Firebase создает .zip архив кода функции, который затем загружается в корзину Cloud Storage (с префиксом gcf-sources ), прежде чем Cloud Functions создаст в вашем проекте репозиторий Artifact Registry (с именем gcf-artifacts ).
    2. Cloud Build извлекает код функции и создает исходный код функции. Журналы Cloud Build можно просмотреть в консоли Google Cloud .
    3. Образ контейнера для кода встроенных функций загружается в частный репозиторий Artifact Registry вашего проекта (с именем gcf-artifacts ), и ваша новая функция развертывается.
  3. Когда поставщик событий генерирует событие, соответствующее условиям функции, вызывается код.
  4. Если функция занята обработкой большого количества событий, Google создает больше экземпляров, чтобы ускорить работу. Если функция простаивает, экземпляры очищаются.
  5. Когда вы обновляете функцию путем развертывания обновленного кода, экземпляры старых версий очищаются вместе с артефактами сборки в Artifact Registry и заменяются новыми экземплярами.
  6. Когда вы удаляете функцию, все экземпляры и zip-архивы очищаются вместе со связанными артефактами сборки в Artifact Registry . Соединение между функцией и поставщиком событий удаляется.

Помимо прослушивания событий с помощью фоновой функции, вы можете вызывать функции напрямую с помощью HTTP-запроса или вызова клиента . Вы также можете запускать функции по фиксированному расписанию или ставить функции задач в очередь с помощью Admin SDK .

Путь реализации

Настройка Cloud Functions Установите интерфейс командной строки Firebase и инициализируйте Cloud Functions в своем проекте Firebase.
Написание функций Напишите код JavaScript, код TypeScript или код Python для обработки событий из ��ервисов Firebase, сервисов Google Cloud или других поставщиков событий.
Тестовые функции Используйте локальный эмулятор для ��ро��ер��и с��о��х ��ункций.
Развертывание и мониторинг Включите биллинг для своего проекта и разверните свои функции с помощью интерфейса командной строки Firebase . Вы можете использовать Google Cloud Console для просмотра и поиска в журналах.

Следующие шаги