Существует две версии Cloud Functions for Firebase:
- Cloud Functions (второе поколение), которое развертывает ваши функции как сервисы на Cloud Run, позволяя запускать их с помощью Eventarc и Pub/Sub.
- Cloud Functions (первое поколение) – исходная версия функций с ограниченным количеством триггеров событий и возможностей настройки.
Мы рекомендуем по возможности использовать для новых функций Cloud Functions (второе поколение). Однако мы планируем продолжить поддержку Cloud Functions (первого поколения).
На этой странице описаны функции, добавленные в Cloud Functions, и приведено сравнение двух версий продукта.
Cloud Functions (второе поколение)
Cloud Functions – это сервис функций как услуги нового поколения от Firebase. Cloud Functions (второе поколение) создан на основе Cloud Run и Eventarc. Он отличается улучшенной инфраструктурой и более широким охватом событий Cloud Functions, в том числе:
- Основано на Cloud Run. Функции создаются с помощью Cloud Build и развертываются как сервисы Cloud Run с использованием среды выполнения Cloud Run по умолчанию. Это позволяет настраивать функцию так же, как и сервис Cloud Run. Чтобы узнать, как настроить сервис, например ограничить объем памяти или задать переменные среды, ознакомьтесь с документацией по Cloud Run.
- Увеличенное время обработки запросов. Выполняйте рабочие нагрузки с более длительными запросами, например обрабатывайте большие потоки данных из Cloud Storage или BigQuery.
- Более крупные экземпляры. Выполняйте более крупные рабочие нагрузки, требующие интенсивных вычислений, параллельной обработки и большого объема памяти.
- Улучшенная параллельность. Обрабатывайте несколько одновременных запросов с помощью одного экземпляра функции, чтобы минимизировать холодные запуски и уменьшить задержку.
- Управление трафиком. Распределяйте трафик между разными версиями функций или возвращайте функцию к предыдущей версии.
- Интеграция с Eventarc. В Cloud Functions теперь поддерживаются триггеры Eventarc, а значит, и более 90 источников событий, которые поддерживает Eventarc.
- Расширенная поддержка CloudEvents. Поддержка отраслевого стандарта CloudEvents во всех средах выполнения языков, обеспечивающая единообразный опыт для разработчиков.
Подробная информация приведена в таблице сравнения.
Поскольку Cloud Functions развертывает функции как сервисы на Cloud Run, Cloud Functions использует квоты и лимиты ресурсов совместно с Cloud Run. Подробнее о квотах…
Сравнительная таблица
| Функция | Cloud Functions (первое поколение) | Cloud Functions |
|---|---|---|
| Реестр образов | Container Registry или Artifact Registry | Только Artifact Registry |
| Время ожидания запроса | До 9 минут |
|
| Сервисный аккаунт* | Сервисный аккаунт Google App Engine (PROJECT_ID@ |
Сервисный аккаунт Google Cloud по умолчанию (PROJECT_NUMBER-compute@developer.gserviceaccount.com) |
| Размер экземпляра | До 8 ГБ ОЗУ с 2 виртуальными ЦП | До 16 ГБ ОЗУ с 4 виртуальными процессорами |
| Параллелизм | 1 параллельный запрос на экземпляр функции | До 1000 одновременных запросов на экземпляр функции |
* Это сервисный аккаунт по умолчанию, который используется для доступа к API Firebase или Cloud из запущенной функции. Он используется Firebase Admin SDK, когда вы инициализируете без аргументов.
Цены
Информация о ценах приведена на странице Тарифные планы Firebase.
Чтобы посмотреть расходы, связанные с Cloud Functions, выполните следующие действия:
- Откройте страницу Cloud Billing Отчеты в консоли Google Cloud.
- Если потребуется, выберите платежный аккаунт, связанный с проектом Google Cloud.
- На панели Фильтры в разделе Ярлыки
добавьте фильтр ярлыков с ключом
goog-managed-byи значениемcloudfunctions.
Ограничения
Cloud Functions for Firebase (второе поколение) не поддерживает события Analytics.
Однако функции первого и второго поколений могут существовать в одном исходном файле, поэтому вы можете разрабатывать и развертывать триггеры Analytics первого поколения вместе с функциями второго поколения.