Поддерживаемые языки в решении "Функции Azure"

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

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

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

Разбивка языков по версиям среды выполнения

В следующей таблице показаны версии .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.

Сведения о поддержке языков

В следующей таблице представлены языки, поддерживаемые решением "Функции", которые могут выполняться в Linux или Windows. В таблице также указано, поддерживает ли язык редактирование на портале Azure. Язык основан на параметре Стек среды выполнения, выбираемом при создании приложения-функции на портале Azure. Этот параметр аналогичен --worker-runtime при использовании команды func init в Azure Functions Core Tools.

Язык Стек среды выполнения Linux Windows Редактирование на портале
C# (изолированная рабочая модель) .NET
C# (модель в процессе) .NET
C# (язык сценариев) .NET
JavaScript Node.js
Python Python X
Java Java
PowerShell PowerShell Core
TypeScript Node.js
Go/Rust/другие Пользовательские обработчики

Дополнительные сведения об операционной системе и поддержке языков см. в разделе Операционная система или среда выполнения.

Если редактирование на портале недоступно, вместо этого необходимо разрабатывать функции локально.

Поддержка основной версии языка

Функции Azure гарантируют поддержку основных версий языков программирования. Для большинства языков доступны дополнительные версии, которые обновляют основные, например Python 3.9.1 и Node 14.17. По мере появления новых дополнительных версий для поддерживаемых языков, дополнительные версии, используемые вашими приложениями-функциями, автоматически обновляются до более новых.

Примечание.

Так как Функции Azure могут аннулировать поддержку более старых дополнительных версий при доступности новых, не закрепляйте свои приложения-функции за определенной дополнительной версией языка программирования.

Пользовательские обработчики

Пользовательские обработчики представляют собой упрощенные веб-серверы, которые получают события от узла Функций Azure. Пользовательский обработчик можно реализовать на любом языке, который поддерживает примитивы HTTP. Это означает, что с помощью пользовательских обработчиков можно создавать функции даже на тех языках, которые не имеют официальной поддержки. Дополнительные сведения см. в статье Пользовательские обработчики Функций Azure.

Расширяемость языка

Начиная с версии 2.x среда выполнения поддерживает расширяемость языков. Языки JavaScript и Java в среде выполнения 2.x поддерживают эту расширяемость.

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