Catch up on everthing we announced at this year's Firebase Summit. Learn more

Облачные функции для Firebase

Облачные функции для Firebase - это бессерверная среда, которая позволяет автоматически запускать внутренний код в ответ на события, инициированные функциями Firebase и запросами HTTPS. Ваш код JavaScript или TypeScript хранится в облаке Google и работает в управляемой среде. Нет необходимости управлять собственными серверами и масштабировать их.

Уже используете облачные функции в Google Cloud? Узнайте больше о том , как Firebase вписывается в картину.

НАЧАТЬ РАБОТУ прецедентов

Ключевые возможности

Интегрирует платформу Firebase

Функции , которые Вы пишете могут реагировать на события , генерируемых различным Firebase и функцию Google Cloud, от триггеров Firebase проверки подлинности в Cloud Storage триггера .

Интеграция через Firebase функции с помощью Admin SDK вместе с облачными функциями, а также интеграции с третьей стороной услугами, написав свои собственные webhooks. Облачные функции минимизируют шаблонный код, что упрощает использование Firebase и Google Cloud внутри вашей функции.
Отсутствие обслуживания Разверните свой код JavaScript или TypeScript на наших серверах с помощью одной команды из командной строки. После этого Firebase автоматически масштабирует вычислительные ресурсы, чтобы соответствовать шаблонам использования ваших пользователей. Вы никогда не беспокоитесь об учетных данных, конфигурации сервера, настройке новых серверов или выводе из эксплуатации старых.
Сохраняет вашу логику конфиденциальной и безопасной Во многих случаях разработчики предпочитают управлять логикой приложения на сервере, чтобы избежать вмешательства со стороны клиента. Кроме того, иногда нежелательно разрешать обратное проектирование этого кода. Облачные функции полностью изолированы от клиента, поэтому вы можете быть уверены, что они конфиденциальны и всегда делают именно то, что вы хотите.

Как это работает?

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

При увеличении или уменьшении нагрузки Google в ответ быстро масштабирует количество экземпляров виртуальных серверов, необходимых для выполнения вашей функции. Каждая функция работает изолированно, в собственной среде со своей конфигурацией.

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

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

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

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

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

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