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