Среда выполнения. Обзор
Среда выполнения выбирается при создании функции и предоставляет дополнительные библиотеки и переменные окружения, к которым можно получить доступ из кода функции. Вы можете изменить выбранную среду выполнения, обновив конфигурацию функции. В настройках версии функции предзагружаемая среда выполнения автоматически обновляется до последней минорной версии среды, которая доступна в сервисе Cloud Functions. Подробнее об обновлении см. в разделе Обновление среды выполнения.
Характеристики среды выполнения:
- Операционная система — Ubuntu 22.04 LTS.
- Ядро Linux — 5.15.
При первом вызове функции создается ее экземпляр. Сервис использует существующие экземпляры функции при новых вызовах, если экземпляры доступны. Это позволяет экономить время, необходимое на подготовку среды выполнения, и ресурсы, такие как подключения к базе данных и временные файлы, которые не нужно заново создавать при повторном использовании среды выполнения.
Среды выполнения
Примечание
Среда выполнения обновляется до тех пор, пока выпускаются обновления версии соответствующего языка. Версии языка, которые больше не поддерживаются сервисом, не рекомендуются к использованию: они не получают обновления безопасности, исправления ошибок и новые специфичные для них функции.
Среды выполнения, доступные в Cloud Functions.
Имя | Идентификатор | Предзагружаемая | Поддерживается сервисом |
---|---|---|---|
Node.js | |||
Node.js 10 | nodejs10 |
Нет | Нет |
Node.js 12 | nodejs12 |
Нет | Нет |
Node.js 14 | nodejs14 |
Нет | Нет |
Node.js 16 | nodejs16 |
Да | Нет |
Node.js 18 | nodejs18 |
Да | Да |
PHP | |||
PHP 7.4 | php74 |
Нет | Нет |
PHP 8.0 | php8 |
Нет | Нет |
PHP 8.2 | php82 |
Нет | Да |
Python | |||
Python 3.7 | python37 |
Нет | Нет |
Python 3.8 | python38 |
Нет | Нет |
Python 3.9 | python39 |
Нет | Нет |
Python 3.11 | python311 |
Да | Нет |
Python 3.12 | python312 |
Да | Да |
Go | |||
Go 1.16 | golang116 |
Нет | Нет |
Go 1.17 | golang117 |
Нет | Нет |
Go 1.18 | golang118 |
Нет | Нет |
Go 1.19 | golang119 |
Нет | Нет |
Go 1.21 | golang121 |
Нет | Да |
Java | |||
Java 11 | java11 |
Нет | Нет |
Java 17 | java17 |
Нет | Нет |
Java 21 | java21 |
Нет | Да |
Kotlin | |||
Kotlin 2.0 | kotlin20 |
Нет | Да |
.NET Core | |||
.NET Core 3.1 | dotnetcore31 |
Нет | Нет |
.NET Core 6 | dotnet6 |
Нет | Нет |
.NET Core 8 | dotnet8 |
Нет | Да |
R | |||
R 4.2 | r42 |
Нет | Нет |
R 4.3 | r43 |
Нет | Да |
Other | |||
Bash 18.04 | bash |
Нет | Нет |
Bash 22.04 | bash-2204 |
Нет | Да |
Ресурсы экземпляра функции
Каждому экземпляру функции выделяются ресурсы CPU и RAM в следующем соотношении:
RAM | CPU |
---|---|
128 МБ – 2 ГБ (не включительно) | 1 vCPU, гарантированная доля vCPU — до 100% пропорционально RAM |
2 ГБ – 4 ГБ (не включительно) | 1 vCPU, гарантированная доля vCPU — 100% |
4 ГБ – 6 ГБ (не включительно) | 2 vCPU, гарантированная доля vCPU — 100% |
6 ГБ – 8 ГБ (не включительно) | 3 vCPU, гарантированная доля vCPU — 100% |
8 ГБ | 4 vCPU, гарантированная доля vCPU — 100% |