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