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

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

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

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

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

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

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

Язык 1.x 2.x 3.x 4.x
C# GA (.NET Framework 4.8) GA (.NET Core 2.11) Общедоступная версия (.NET Core 3.1)
GA (.NET 6.0)
ОБЩЕДОСТУПНАЯ ВЕРСИЯ (.NET 7.0)
GA (.NET Framework 4.8)
JavaScript GA (Node.js 6) GA (Node.js 10 и 8) GA (Node.js 14, 12 и 10) GA (Node.js 14)
GA (Node.js 16)
Предварительная версия (Node.js 18)
F# GA (.NET Framework 4.8) GA (.NET Core 2.11) Общедоступная версия (.NET Core 3.1) GA (.NET 6.0)
ОБЩЕДОСТУПНАЯ ВЕРСИЯ (.NET 7.0)
Java Недоступно Общедоступная версия (Java 8) GA (Java 11 и 8) GA (Java 11 и 8)
Предварительная версия (Java 17)
PowerShell Недоступно Недоступно Общедоступная версия (PowerShell Core 7.0) Общедоступная версия (PowerShell 7.0, 7.2)
Python Недоступно Общедоступная версия (Python 3.7) GA (Python 3.9, 3.8, 3.7) GA (Python 3.9, 3.8, 3.7)
TypeScript2 Недоступно GA GA GA

1 Приложения библиотеки класса .NET, предназначенные для среды выполнения версии 2.x, работают на .NET Core 3.1 в режиме совместимости с .NET Core 2.x. Чтобы узнать больше, ознакомьтесь с рекомендациями по Функциям версии 2.x.
2 Поддерживается посредством транскомпиляции в JavaScript.

Дополнительные сведения о поддерживаемых версиях см. в руководстве разработчика по конкретному языку.
Сведения о запланированных изменениях поддержки языков см. в стратегии развития Azure.

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

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

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

1 На портале в настоящее время нельзя создавать приложения-функции, которые выполняются в .NET 7.0. Дополнительные сведения см. в статье Руководство по запуску Функции Azure C# в изолированном рабочем процессе.

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

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

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

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

Примечание

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

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

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

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

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

Дальнейшие действия

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