Обзор версий среды выполнения для решения "Функции Azure"
Функции Azure в настоящее время поддерживает две версии узла среды выполнения. В следующей таблице указаны поддерживаемые в настоящее время версии среды выполнения, уровень их поддержки и то, когда их следует использовать:
Версия | Уровень поддержки | Description |
---|---|---|
4.x | Общедоступная версия | Рекомендуемая версия среды выполнения для функций на всех языках. Ознакомьтесь с поддерживаемыми версиями языка. |
1.x | GA (поддержка заканчивается 14 сентября 2026 г.) | Поддерживается только для приложений C#, которые должны использовать .NET Framework. Эта версия находится в режиме обслуживания, а улучшения предоставляются только в более поздних версиях. Поддержка версии 1.x будет завершена 14 сентября 2026 г. Мы настоятельно рекомендуем перенести приложения в версию 4.x, которая поддерживает платформа .NET Framework 4.8, .NET 8 и .NET 9. |
Внимание
По состоянию на 13 декабря 2022 г. для приложений-функций, работающих в версиях 2.x и 3.x среды выполнения функций Azure, завершилась расширенная поддержка. Дополнительные сведения см. в разделе "Устаревшие версии".
В этой статье описаны некоторые различия между поддерживаемыми версиями, способами создания каждой версии и изменением версии, в которой выполняются функции.
Уровни поддержки
Различают два уровня поддержки:
- Общедоступные — полностью поддерживаемые языки, утвержденные для использования в рабочей среде.
- Предварительная версия — пока не поддерживается, но в будущем ожидается повышение до состояния GA.
Языки
Все функции в приложении-функции должны использовать один язык. При создании приложения вы выбираете язык функций в приложении-функции. Язык приложения-функции поддерживается в параметре FUNCTIONS_WORKER_RUNTIME и не может быть изменен при наличии существующих функций.
Выберите предпочитаемый язык разработки в верхней части статьи.
В следующей таблице показаны версии .NET, поддерживаемые Функции Azure.
Поддерживаемая версия .NET зависит от версии среды выполнения Функций и выбранной модели выполнения:
Код функции выполняется в отдельном рабочем процессе .NET. Используйте поддерживаемые версии .NET и платформа .NET Framework. Дополнительные сведения см. в статье "Разработка изолированных рабочих процессов .NET".
Поддерживаемая версия | Уровень поддержки | Ожидаемая дата EOL сообщества |
---|---|---|
.NET 9 | Общедоступная версия | 12 мая 2026 г. |
.NET 8 | Общедоступная версия | 10 ноября 2026 г. |
платформа .NET Framework 4.8.1 | Общедоступная версия | См. политику |
.NET 6 ранее поддерживался в изолированной рабочей модели, но достигла конца официальной поддержки 12 ноября 2024 года.
.NET 7 ранее поддерживался в изолированной рабочей модели, но достигла конца официальной поддержки 14 мая 2024 года.
Дополнительные сведения см. в руководстве по запуску Функции Azure C# в изолированном рабочем процессе.
В следующей таблице показаны языковые версии, поддерживаемые для функций Java.
Поддерживаемая версия | Уровень поддержки | Поддерживается до |
---|---|---|
Java 21 (только для Linux) | Предварительный просмотр | См. схему выпуска и обслуживания. |
Java 17 | Общедоступная версия | См. схему выпуска и обслуживания. |
Java 11 | Общедоступная версия | См. схему выпуска и обслуживания. |
Java 8 | Общедоступная версия | См. эту страницу поддержки Temurin. |
Дополнительные сведения о разработке и запуске функций Java см. в руководстве разработчика java Функции Azure.
В следующей таблице показаны языковые версии, поддерживаемые для функций Node.js.
Поддерживаемая версия | Уровень поддержки | Ожидаемая дата EOL сообщества |
---|---|---|
Node.js 22 | Предварительный просмотр | 30 апреля 2027 г. |
Node.js 20 | Общедоступная версия | 30 апреля 2026 г. |
Node.js 18 | Общедоступная версия | 30 апреля 2025 г. |
TypeScript поддерживается путем транспилирования в JavaScript. Дополнительные сведения см. в руководстве разработчика Функции Azure Node.js.
В следующей таблице показана языковая версия, поддерживаемая для функций PowerShell.
Поддерживаемая версия | Уровень поддержки | Ожидаемая дата EOL сообщества |
---|---|---|
PowerShell 7.4 | Общедоступная версия | 10 ноября 2026 г. |
PowerShell 7.2 | Общедоступная версия | 8 ноября 2024 г. |
Дополнительные сведения см. в руководстве разработчика PowerShell Функции Azure.
В следующей таблице показаны языковые версии, поддерживаемые для функций Python.
Поддерживаемая версия | Уровень поддержки | Ожидаемая дата EOL сообщества |
---|---|---|
Python 3.11 | Общедоступная версия | Октябрь 2027 г. |
Python 3.10 | Общедоступная версия | Октябрь 2026 г. |
Python 3.9 | Общедоступная версия | Октябрь 2025 г. |
Python 3.8 | Общедоступная версия | Октябрь 2024 г. |
Дополнительные сведения см. в руководстве разработчика Python Функции Azure.
Сведения о запланированных изменениях поддержки языков см. в стратегии развития Azure.
Сведения о языковых версиях ранее поддерживаемых версий среды выполнения Функций см . в версиях среды выполнения "Устаревшие".
Запуск в определенной версии
Версия среды выполнения для Функций Azure, используемая опубликованными в Azure приложениями, зависит от параметра приложения FUNCTIONS_EXTENSION_VERSION
. В некоторых случаях и для определенных языков могут применяться другие параметры.
По умолчанию приложения-функции, созданные в портал Azure, Azure CLI или из средств Visual Studio, устанавливаются в версию 4.x. При необходимости эту версию можно изменить. Переходить на использование более ранней версии 1.x среды выполнения следует только после создания приложения-функции, но до добавления в него функций. Обновление до более поздней основной версии разрешено даже с приложениями, имеющими существующие функции.
Перенос существующих приложений-функций
Если приложение имеет существующие функции, перед переходом на более позднюю основную версию среды выполнения необходимо принять меры предосторожности. В следующих статьях подробно рассматриваются критические изменения между основными версиями, включая критические изменения на языке. Они также предоставляют пошаговые инструкции по успешной миграции существующего приложения-функции.
- Перенос из среды выполнения версии 3.x в версию 4.x
- Перенос из среды выполнения версии 1.x в версию 4.x
Изменение версии приложений в Azure
Используются следующие основные значения версий среды выполнения:
Значение | Целевая версия среды выполнения |
---|---|
~4 |
4.x |
~1 |
1.x |
Внимание
Не изменяйте этот параметр приложения произвольно, так как могут потребоваться другие изменения и изменения в коде функции. Для существующих приложений-функций следуйте инструкциям по миграции.
Закрепление для определенной дополнительной версии
Чтобы устранить проблемы, которые могут возникнуть при запуске приложения-функции в последней основной версии, необходимо временно закрепить приложение на определенной дополнительной версии. Закрепление даст вам время для настройки правильной работы приложения на последней основной версии. Способы закрепления во вспомогательной версии в Windows и Linux отличаются. Дополнительные сведения см. в инструкциях по нацеливанию версий среды выполнения службы "Функции Azure".
Более старые вспомогательные версии периодически удаляются из Функций Azure. Последние новости о выпусках службы "Функции Azure", включая удаление отдельных устаревших промежуточных версий, см. в статье Анонсы для службы приложений Azure.
Минимальные версии расширений
Технически не существует корреляции между версиями расширений привязки и версией среды выполнения Функций. Однако начиная с версии 4.x среда выполнения Функций устанавливает минимальную версию для всех расширений триггеров и привязок.
Если появляется предупреждение о том, что пакет не удовлетворяет минимальной требуемой версии, следует обновить этот пакет NuGet до минимальной версии, как обычно. Минимальные требования к версии для расширений, используемых в Функциях версии 4.x, можно найти в этом файле конфигурации.
Для скрипта C# обновите ссылку на пакет расширений в файле host.json следующим образом:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Технически не существует корреляции между версиями пакетов расширений и версией среды выполнения Функций. Однако начиная с версии 4.x среда выполнения Функций устанавливает минимальную версию для пакетов расширений.
Если вы получаете предупреждение о том, что версия пакета расширений не соответствует минимальной требуемой версии, обновите имеющуюся ссылку на пакет расширений в файле host.json следующим образом:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Дополнительные сведения о пакетах расширений см. в разделе Пакеты расширений.
Устаревшие версии
Внимание
Поддержка будет завершена для среды выполнения Функции Azure версии 1.x 14 сентября 2026 г. Настоятельно рекомендуется перенести приложения в версию 4.x для полной поддержки.
Эти версии среды выполнения Функций достигли конца расширенной поддержки 13 декабря 2022 г.
Версия | Текущий уровень поддержки | Предыдущий уровень поддержки |
---|---|---|
3.x | Вне поддержки | Общедоступная версия |
2.x | Вне поддержки | Общедоступная версия |
Как можно скорее необходимо перенести приложения в версию 4.x, чтобы получить полную поддержку. Полный набор инструкций по миграции для конкретного языка см. в статье "Миграция приложений в Функции Azure версии 4.x".
Приложения с использованием версий 2.x и 3.x по-прежнему можно создавать и развертывать из конвейера CI/CD DevOps, а все существующие приложения продолжают работать без критических изменений. Однако приложения не могут быть доступны для новых функций, исправлений безопасности и оптимизации производительности. После обновления приложений до версии 4.x можно получить поддержку связанной службы.
Прекращение поддержки версий 2.x и 3.x обусловлено окончанием поддержки .NET Core 3.1, которая была основной зависимостью. Это требование влияет на все языки, поддерживаемые Функции Azure.
Версии локально разработанных приложений
Можно внести следующие изменения в приложения-функции, чтобы локально изменить целевые версии.
Версии среды выполнения Visual Studio
В Visual Studio вы выбираете версию среды выполнения при создании проекта. средства Функции Azure для Visual Studio поддерживают две основные версии среды выполнения. При отладке и публикации правильная версия применяется автоматически на основе настроек проекта. Параметры версии определяются в файле .csproj
в следующих свойствах:
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
Если вы используете изолированную рабочую модель, вы можете выбрать , net8.0
net6.0
или net48
в качестве целевой платформы. Вы также можете использовать поддержкуnet9.0
предварительной версии. Если вы используете модель в процессе, можно выбрать net8.0
или net6.0
включить расширение, заданное Microsoft.NET.Sdk.Functions
как минимум 4.4.0
.
.NET 7 ранее поддерживался в изолированной рабочей модели, но достигла конца официальной поддержки 14 мая 2024 года.
Visual Studio Code и основные средства Функции Azure
Основные инструменты службы "Функции Azure" используются для разработки из командной строки, а также в расширении Функций Azure для Visual Studio Code. Дополнительные сведения см. в разделе Установка основных инструментов Функций Azure.
Для разработки Visual Studio Code также может потребоваться обновить параметр пользователя для azureFunctions.projectRuntime
соответствия версии установленных средств. Этот параметр также обновляет шаблоны и языки, используемые при создании приложения-функции.
Привязки
Начиная с версии 2.x, среда выполнения использует новую модель расширяемости привязок, которая обеспечивает следующие преимущества.
Поддержка сторонних расширений привязок.
Разделение среды выполнения и привязок. Это изменение позволяет отдельно управлять версиями расширений привязок и выпускать эти расширения. Например, можно выполнить обновление до версии расширения на основе более новой версии базового пакета SDK.
Менее ресурсоемкая среда выполнения, где в среде выполнения известны только используемые привязки и только они загружаются в нее.
За исключением триггеров HTTP и таймера, все привязки теперь необходимо вручную добавлять в проект приложения-функции или регистрировать на портале. Для получения дополнительной информации ознакомьтесь с разделом Регистрация расширений привязки.
В следующей таблице перечислены поддерживаемые привязки для каждой версии среды выполнения.
В этой таблице показаны привязки, которые поддерживаются в двух основных версиях среды выполнения Функций Azure.
Тип | 1.x1 | 2.x и выше2 | Триггер | Входные данные | Выходные данные |
---|---|---|---|---|---|
Хранилище BLOB-объектов | ✔ | ✔ | ✔ | ✔ | ✔ |
Azure Cosmos DB | ✔ | ✔ | ✔ | ✔ | ✔ |
Обозреватель данных Azure | ✔ | ✔ | ✔ | ||
Azure SQL | ✔ | ✔ | ✔ | ✔ | |
Dapr4 | ✔ | ✔ | ✔ | ✔ | |
Сетка событий | ✔ | ✔ | ✔ | ✔ | |
Центры событий | ✔ | ✔ | ✔ | ✔ | |
HTTP и веб-перехватчики | ✔ | ✔ | ✔ | ✔ | |
Центр IoT | ✔ | ✔ | ✔ | ||
Kafka3 | ✔ | ✔ | ✔ | ||
Мобильные приложения | ✔ | ✔ | ✔ | ||
Центры уведомлений | ✔ | ✔ | |||
Хранилище очередей | ✔ | ✔ | ✔ | ✔ | |
Redis | ✔ | ✔ | ✔ | ✔ | |
RabbitMQ3 | ✔ | ✔ | ✔ | ||
SendGrid | ✔ | ✔ | ✔ | ||
Служебная шина | ✔ | ✔ | ✔ | ✔ | |
SignalR | ✔ | ✔ | ✔ | ✔ | |
Хранилище таблиц | ✔ | ✔ | ✔ | ✔ | |
Таймер | ✔ | ✔ | ✔ | ||
Twilio | ✔ | ✔ | ✔ |
Примечания:
- Поддержка будет завершена для среды выполнения Функции Azure версии 1.x 14 сентября 2026 г. Настоятельно рекомендуется перенести приложения в версию 4.x для полной поддержки.
- Начиная с среды выполнения версии 2.x все привязки, кроме ПРОТОКОЛА HTTP и Таймера, должны быть зарегистрированы. Ознакомьтесь с разделом Регистрация расширений привязки.
- Триггеры не поддерживаются в плане потребления. Требуются триггеры, управляемые средой выполнения.
- Поддерживается только в Kubernetes, IoT Edge и других автономных режимах.
Длительность времени ожидания приложения-функции
Длительность времени ожидания функций в приложении-функции определяется functionTimeout
свойством в файле проекта host.json . Это свойство применяется специально к выполнению функций. После запуска триггера выполнения функции функция должна возвращать и реагировать в течение времени ожидания. Чтобы избежать времени ожидания, важно создавать надежные функции. Дополнительные сведения см. в разделе "Улучшение Функции Azure производительности и надежности".
В следующей таблице приведены значения по умолчанию и максимальные значения (в минутах) для конкретных планов:
Планирование | По умолчанию. | Максимум1 |
---|---|---|
План потребления Flex | 30 | Несоотвязанное2 |
План категории "Премиум" | 304 | Несоотвязанное2 |
План ценовой категории "Выделенный" | 304 | Несоотвязанные3 |
Приложения-контейнеры | 30 | Несоотвязано5 |
План потребления | 5 | 10 |
- Независимо от параметра времени ожидания приложения-функции, 230 секунд — это максимальное время, затраченное функцией HTTP для реагирования на запрос. Это связано с временем простоя azure Load Balancer по умолчанию. При более длительной обработке рассмотрите возможность использования асинхронного шаблона Устойчивых функций или отложите работу и получите немедленный ответ.
- Максимальное время ожидания выполнения не применяется. Однако льготный период, предоставленный выполнению функции, составляет 60 минут во время масштабирования планов Flex Consumption и Premium, а льготный период 10 минут предоставляется во время обновлений платформы.
- Требует, чтобы для плана Служба приложений было задано значение AlwaysOn. Льготный период 10 минут предоставляется во время обновлений платформы.
- Истекает время ожидания по умолчанию для среды выполнения узла функций версии 1.x.
- Если минимальное количество реплик равно нулю, время ожидания по умолчанию зависит от конкретных триггеров, используемых в приложении.
Следующие шаги
Дополнительные сведения см. на следующих ресурсах: