Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Общедоступная предварительная версия Cloud Functions (2-го поколения)

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Облачные функции для Firebase (2-го поколения) на базе Cloud Run и Eventarc могут предоставить вам более мощную инфраструктуру, расширенный контроль над производительностью и масштабируемостью, а также больший контроль над временем выполнения функций. В этой предварительной документации объясняется, что нового и что доступно на данный момент в предварительной версии 2-го поколения, а также приводятся некоторые рекомендации по использованию нового API отдельно или вместе с облачными функциями для API Firebase (1-го поколения).

Что нового в облачных функциях для Firebase (2-го поколения)

Изменения и улучшения, доступные в настоящее время в Cloud Functions для Firebase (2-го поколения), включают:

  • Экземпляры функций теперь могут выполнять более одного запроса одновременно . Эта функция доступна для функций с одним выделенным ЦП или выше. Уровни параллелизма можно установить для каждой функции или для всех функций с помощью метода setGlobalOptions . Если не указано, новые функции с 1 выделенным ЦП или выше по умолчанию будут выполнять 80 одновременных запросов. См. раздел Разрешить одновременные запросы .
  • Защитите вызываемые и HTTP-функции с помощью новой настройки cors . Триггеры HTTP также теперь имеют настройку cors , чтобы упростить управление CORS .
  • Облачные функции теперь построены на Cloud Run . Если вы не знакомы с Cloud Run, не беспокойтесь: создавать функции так же просто, как и раньше. Cloud Run — это более современный бессерверный продукт, который обеспечивает более высокую производительность, лучшую конфигурацию, лучший мониторинг и многое другое.
  • Google сотрудничал с лидерами отрасли для создания спецификации CloudEvents . Функции обработки событий теперь используют этот открытый стандарт в качестве сигнатуры событий.
  • Новые типы триггеров включают триггеры Firebase Alerts , настраиваемые триггеры событий для расширений Firebase и функции очереди задач для запуска ресурсоемких задач в облачных задачах (функции очереди задач также доступны в 1-м поколении).
  • SDK firebase-functions был переосмыслен как более родной для современного JavaScript. Вы можете глобально настраивать функции 2-го поколения, использовать объекты опций и использовать модульный импорт .
  • Функции HTTP теперь могут иметь тайм- аут в 1 час (по сравнению с 9 минутами ранее) , если это необходимо для длительных рабочих нагрузок.
  • Экземпляры функций теперь по умолчанию используют учетную запись службы вычислений по умолчанию, а не учетную запись службы ядра приложения.

Ограничения во время предварительного просмотра

Эта предварительная версия Cloud Functions 2-го поколения еще не включает в себя полный набор запланированных функций и не обеспечивает полного паритета функций с Cloud Functions (1-го поколения). Он ограничен с точки зрения доступных триггеров и регионов, а также других текущих ограничений, описанных в этом разделе.

В настоящее время доступные местоположения облачных функций

Облачные функции 2-го поколения в настоящее время доступны в следующих регионах:

  • europe-north1
  • europe-west1
  • europe-west4
  • us-central1
  • us-east1
  • us-west1

Доступные в настоящее время триггеры облачных функций

Cloud Functions 2-го поколения поддерживает следующие фоновые триггеры Firebase:

  • База данных Firebase в реальном времени
  • Облачное хранилище
  • Оповещения Firebase
  • Паб/Саб
  • Callables
  • Облачные задачи
  • HTTP
  • Запланированные функции
  • Функции блокировки аутентификации Firebase
  • Удаленная конфигурация Firebase
  • Лаборатория тестирования Firebase

Облачные функции 2-го поколения в настоящее время не поддерживают следующие триггеры:

  • Облако Firestore
  • Аутентификация onCreate и onDelete
  • Гугл Аналитика

Другие ограничения

Эти ограничения также применяются к облачным функциям 2-го поколения:

  • Имена функций ограничены строчными буквами, цифрами и тире.
  • Полная наблюдаемость еще не встроена в Firebase CLI или консоль Firebase. Чтобы наблюдать за своими экземплярами функций, используйте Google Cloud Console для базовой службы Cloud Run .
  • Firebase Local Emulator Suite в настоящее время поддерживает функции HTTP, облачного хранилища и Pub/Sub во 2-м поколении.
  • URL-адреса cloudfunctions.net пока не поддерживаются для функций HTTP; временно вместо этого вы увидите URL-адреса .run.app . Это ограничение также влияет на вызов вызываемых функций и функций очереди задач (приемлемые обходные пути см. в соответствующих руководствах).
  • Холодный запуск еще не оптимизирован во 2-м поколении и временно может быть значительно медленнее, чем в 1-м поколении. Однако в целом конечные пользователи должны испытывать меньше холодных запусков благодаря параллелизму.