Cloud Functions предлагает две версии продукта: Cloud Functions (1-го поколения), исходную версию, и Cloud Functions (2-го поколения), новую версию, созданную на основе Cloud Run и Eventarc и обеспечивающую расширенный набор функций. На этой странице описаны новые функции, представленные в Cloud Functions (2-го поколения), и приведено сравнение двух версий продукта.
Мы рекомендуем вам выбирать облачные функции (2-го поколения) для новых функций, где это возможно. Однако мы планируем продолжать поддерживать облачные функции (1-го поколения).
Новое в облачных функциях (2-го поколения)
Cloud Functions (2-го поколения) — это предложение Firebase следующего поколения «Функции как услуга». Cloud Functions (2-го поколения), созданный на основе Cloud Run и Eventarc, обеспечивает улучшенную инфраструктуру и более широкий охват событий в Cloud Functions, включая:
- Увеличенное время обработки запросов . Выполняйте более длительные рабочие нагрузки, например обработку больших потоков данных из Cloud Storage или BigQuery.
- Большие размеры экземпляров . Выполняйте в памяти более крупные, ресурсоемкие и параллельные рабочие нагрузки.
- Улучшенный параллелизм . Обрабатывайте несколько одновременных запросов с помощью одного экземпляра функции, чтобы минимизировать холодный запуск и уменьшить задержку.
- Управление трафиком : разделите трафик между различными версиями функций или откатите функцию до предыдущей версии.
- Интеграция с Eventarc : встроенная поддержка триггеров Eventarc, позволяющая перенести все более 90 источников событий, поддерживаемых Eventarc, в облачные функции.
- Более широкая поддержка CloudEvents . Поддержка стандартных отраслевых событий CloudEvents во всех языковых средах выполнения, обеспечивающая единообразный опыт разработки.
Подробности смотрите в сравнительной таблице .
Поскольку Cloud Functions (2-го поколения) основан на Cloud Run, Cloud Functions (2-го поколения) разделяет квоты и ограничения ресурсов с Cloud Run. См. Квоты .
Сравнительная таблица
Особенность | Облачные функции (1-го поколения) | Облачные функции (2-го поколения) |
---|---|---|
Реестр изображений | Реестр контейнеров или реестр артефактов | Только реестр артефактов |
Запросить тайм-аут | До 9 минут |
|
Размер экземпляра | До 8 ГБ ОЗУ с 2 виртуальными процессорами | До 16 ГБ ОЗУ с 4 виртуальными процессорами |
Параллелизм | 1 одновременный запрос на каждый экземпляр функции | До 1000 одновременных запросов на экземпляр функции |
Цены
Информацию о ценах см. в разделе «Ценовые планы Firebase» .
Если вы используете облачные функции (2-го поколения), вы можете просмотреть свои расходы, связанные только с облачными функциями (2-го поколения), следующим образом:
- Перейдите на страницу «Отчеты о платежах Cloud» в консоли GCP.
- При появлении запроса выберите платежный аккаунт, связанный с вашим проектом Google Cloud Platform.
- На панели «Фильтры» в разделе «Метки» добавьте фильтр меток с ключом
goog-managed-by
и значениемcloudfunctions
.
Ограничения
Облачные функции для Firebase (2-го поколения) не поддерживают события Analytics.
Хотя облачные функции для Firebase (2-го поколения) поддерживают события блокировки аутентификации, они не поддерживают тот же набор базовых событий аутентификации, что и 1-е поколение.
Однако, поскольку функции 1-го и 2-го поколения могут сосуществовать бок о бок в одном и том же исходном файле, вы по-прежнему можете разрабатывать и развертывать аналитику и базовые триггеры аутентификации в 1-м поколении вместе с функциями 2-го поколения.