Обзор версий среды выполнения для решения "Функции 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 7 и .NET 8.

Внимание

По состоянию на 13 декабря 2022 г. для приложений-функций, работающих в версиях 2.x и 3.x среды выполнения функций Azure, завершилась расширенная поддержка. Дополнительные сведения см. в разделе "Устаревшие версии".

В этой статье описаны некоторые различия между поддерживаемыми версиями, способами создания каждой версии и изменением версии, в которой выполняются функции.

Уровни поддержки

Различают два уровня поддержки:

  • Общедоступные — полностью поддерживаемые языки, утвержденные для использования в рабочей среде.
  • Предварительная версия — пока не поддерживается, но в будущем ожидается повышение до состояния GA.

Языки

Все функции в приложении-функции должны использовать один язык. При создании приложения вы выбираете язык функций в приложении-функции. Язык приложения-функции поддерживается в параметре FUNCTIONS_WORKER_RUNTIME и не может быть изменен при наличии существующих функций.

В следующей таблице показаны версии .NET, поддерживаемые Функции Azure. Выберите предпочитаемый язык разработки в верхней части статьи.

Поддерживаемая версия .NET зависит от версии среды выполнения Функций и выбранной модели выполнения:

Код функции выполняется в отдельном рабочем процессе .NET. Используйте поддерживаемые версии .NET и платформа .NET Framework. Дополнительные сведения см. в статье "Разработка изолированных рабочих процессов .NET".

Поддерживаемая версия Уровень поддержки Ожидаемая дата EOL сообщества
.NET 8 Общедоступная версия 10 ноября 2026 г.
.NET 7 Общедоступная версия 14 мая 2024 г.
.NET 6 Общедоступная версия 12 ноября 2024 г.
.NET Framework 4.8 Общедоступная версия См. политику

Дополнительные сведения см. в руководстве по запуску Функции 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 20 Общедоступная версия 30 апреля 2026 г.
Node.js 18 Общедоступная версия 30 апреля 2025 г.
Node.js 16 Общедоступная версия 11 сентября 2023 г.*
Node.js 14 Общедоступная версия 30 апреля 2023 г.*

*Поддержка функций продлена до 30 июня 2024 г.

TypeScript поддерживается путем транспилирования в JavaScript. Дополнительные сведения см. в руководстве разработчика Функции Azure Node.js.

В следующей таблице показана языковая версия, поддерживаемая для функций PowerShell. Выберите предпочитаемый язык разработки в верхней части статьи.

Поддерживаемая версия Уровень поддержки Ожидаемая дата EOL сообщества
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 среды выполнения следует только после создания приложения-функции, но до добавления в него функций. Обновление до более поздней основной версии разрешено даже с приложениями, имеющими существующие функции.

Перенос существующих приложений-функций

Если приложение имеет существующие функции, перед переходом на более позднюю основную версию среды выполнения необходимо принять меры предосторожности. В следующих статьях подробно рассматриваются критические изменения между основными версиями, включая критические изменения на языке. Они также предоставляют пошаговые инструкции по успешной миграции существующего приложения-функции.

Изменение версии приложений в 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)"
    }
}

Дополнительные сведения о пакетах расширений см. в разделе Пакеты расширений.

Устаревшие версии

Эти версии среды выполнения Функций достигли конца расширенной поддержки 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, net7.0net6.0или net48 в качестве целевой платформы, если используется изолированная рабочая модель. Если вы используете модель в процессе, вы можете выбрать net6.0только его, и необходимо включить Microsoft.NET.Sdk.Functions расширение по крайней мере 4.0.0.

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

1Поддержка завершится для среды выполнения Функции Azure версии 1.x 14 сентября 2026 г. Настоятельно рекомендуется перенести приложения в версию 4.x для полной поддержки.

2 Начиная с среды выполнения 2.x, все привязки, кроме HTTP и таймера, должны быть зарегистрированы. Ознакомьтесь с разделом Регистрация расширений привязки.

3 триггера не поддерживаются в плане потребления. Требуются триггеры, управляемые средой выполнения.

4 Поддерживается только в Kubernetes, IoT Edge и других автономных режимах.

Время ожидания приложения-функции

Длительность времени ожидания функций в приложении-функции определяется functionTimeout свойством в файле проекта host.json . Это свойство применяется специально к выполнению функций. После запуска триггера выполнения функции функция должна возвращать и реагировать в течение времени ожидания. Дополнительные сведения см. в разделе "Улучшение Функции Azure производительности и надежности".

В следующей таблице приведены значения по умолчанию и максимальные значения (в минутах) для конкретных планов:

Планирование По умолчанию. Максимум1
План потребления 5 10
План категории "Премиум" 302 Не ограничено3
План ценовой категории "Выделенный" 302 Не ограничено3

1 Независимо от параметра времени ожидания приложения-функции, 230 секунд — это максимальное время, в течение которого функция, активируемая HTTP, может реагировать на запрос. Это определяется стандартным временем простоя Azure Load Balancer. При более длительной обработке рассмотрите возможность использования асинхронного шаблона Устойчивых функций или отложите работу и получите немедленный ответ.
2 Время ожидания по умолчанию для версии 1.x среды выполнения Функций не ограничено.
3 гарантировано до 60 минут. Исправления операционной системы и среды выполнения, исправление уязвимостей и масштабирование в поведении по-прежнему могут отменять выполнение функций, чтобы обеспечить надежную запись функций.

Следующие шаги

Дополнительные сведения см. на следующих ресурсах: