Обзор версий среды выполнения для решения "Функции Azure"
Функции Azure в настоящее время поддерживает две версии узла среды выполнения. В следующей таблице указаны поддерживаемые в настоящее время версии среды выполнения, уровень их поддержки и то, когда их следует использовать:
Версия | Уровень поддержки | Description |
---|---|---|
4.x | Общедоступная версия | Рекомендуемая версия среды выполнения для функций на всех языках. Ознакомьтесь с поддерживаемыми версиями языка. |
1.x | GA (поддержка заканчивается 14 сентября 2026 г.) | Поддерживается только для приложений C#, которые должны использовать .NET Framework. Эта версия находится в режиме обслуживания, а улучшения предоставляются только в более поздних версиях. Поддержка версии 1.x будет завершена 14 сентября 2026 г. Мы настоятельно рекомендуем перенести приложения в версию 4.x, которая поддерживает платформа .NET Framework 4.8, .NET 6, .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 | Предварительный просмотр | См. политику |
.NET 8 | Общедоступная версия | 10 ноября 2026 г. |
.NET 6 | Общедоступная версия | 12 ноября 2024 г. |
.NET Framework 4.8 | Общедоступная версия | См. политику |
.NET 7 ранее поддерживался в изолированной рабочей модели, но достигла конца официальной поддержки 14 мая 2024 года.
Дополнительные сведения см. в руководстве по запуску Функции Azure C# в изолированном рабочем процессе.
В следующей таблице показаны языковые версии, поддерживаемые для функций Java. Выберите предпочитаемый язык разработки в верхней части статьи.
Поддерживаемая версия | Уровень поддержки | Ожидаемая дата EOL сообщества |
---|---|---|
Java 21 (только для Linux) | Предварительный просмотр | Сентябрь 2028 г. |
Java 17 | Общедоступная версия | Сентябрь 2027 г. |
Java 11 | Общедоступная версия | Сентябрь 2027 г. |
Java 8 | Общедоступная версия | 30 ноября 2026 г. |
Дополнительные сведения см. в руководстве разработчика 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 |
---|---|---|
План потребления | 5 | 10 |
План потребления Flex | 30 | Несоотвязанное2 |
План категории "Премиум" | 304 | Несоотвязанное2 |
План ценовой категории "Выделенный" | 304 | Несоотвязанные3 |
Приложения-контейнеры | 30 | Несоотвязано5 |
- Независимо от параметра времени ожидания приложения-функции 230 секунд — это максимальное время, в течение которого функция, активируемая HTTP, может реагировать на запрос. Это определяется стандартным временем простоя Azure Load Balancer. При более длительной обработке рассмотрите возможность использования асинхронного шаблона Устойчивых функций или отложите работу и получите немедленный ответ.
- Максимальное время ожидания выполнения не применяется. Однако льготный период, предоставленный выполнению функции, составляет 60 минут во время масштабирования планов Flex Consumption и Premium, а льготный период 10 минут предоставляется во время обновлений платформы.
- Требует, чтобы для плана Служба приложений было задано значение AlwaysOn. Льготный период 10 минут предоставляется во время обновлений платформы.
- Время ожидания по умолчанию для среды выполнения узла функций версии 1.x не подключено.
- Если минимальное количество реплик равно нулю, время ожидания по умолчанию зависит от конкретных триггеров, используемых в приложении.
Следующие шаги
Дополнительные сведения см. на следующих ресурсах: