Podporované jazyky v Azure Functions

Tento článek vysvětluje úrovně podpory nabízené pro jazyky, které můžete použít s Azure Functions. Popisuje také strategie pro vytváření funkcí pomocí jazyků, které nejsou nativně podporovány.

Úrovně podpory

Existují dvě úrovně podpory:

  • Obecně dostupná ( GA) – plně podporovaná a schválená pro použití v produkčním prostředí.
  • Preview – zatím se nepodporuje, ale očekává se, že bude v budoucnu ve verzi GA.

Jazyky podle verze modulu runtime

K dispozici je několik Azure Functions runtime. Následující tabulka uvádí podporované jazyky v jednotlivých verzích modulu runtime.

Jazyk 1.x 2.x 3.x 4.x
C# GA (.NET Framework 4.8) GA (.NET Core 2.11) GA (.NET Core 3.1)
GA (.NET 5.0)
GA (.NET 6.0)
JavaScript GA (Node.js 6) GA (Node.js 10 & 8) GA (Node.js 14, 12, & 10) GA (Node.js 14)
Preview (Node.js 16)
F# GA (.NET Framework 4.8) GA (.NET Core 2.11) GA (.NET Core 3.1) GA (.NET 6.0)
Java GA (Java 8) GA (Java 11 & 8) GA (Java 11 & 8)
PowerShell GA (PowerShell Core 6) GA (PowerShell 7.0 & Core 6) GA (PowerShell 7.0)
Python GA (Python 3.7 & 3.6) GA (Python 3.9, 3.8, 3.7, & 3.6) GA (Python 3.9, 3.8)
TypeScript2 GA GA GA

1 Aplikace knihovny tříd .NET cílené na modul runtime verze 2.x běží na .NET Core 3.1 v režimu kompatibility .NET Core 2.x. Další informace najdete v tématu Důležité informace o functions v2.x.
2 Podporováno prostřednictvím transpilace do JavaScriptu.

Další podrobnosti o podporovaných jazykových verzích najdete v článku Příručka pro vývojáře pro konkrétní jazyk.
Informace o plánovaných změnách podpory jazyků najdete v tématu Plány nasazení Azure.

Podrobnosti o podpoře jazyků

Následující tabulka uvádí, které jazyky podporované funkcí mohou běžet v Linuxu nebo Windows. Také určuje, jestli váš jazyk podporuje úpravy v Azure Portal. Jazyk vychází z možnosti Zásobník modulu runtime, kterou zvolíte při vytváření aplikace funkcí v Azure Portal. To je stejné jako možnost --worker-runtime při použití příkazu v func init Azure Functions Core Tools.

Jazyk Zásobník modulu runtime Linux Windows Úpravy na portálu1
Knihovna tříd C#2 .NET
Skript jazyka C# .NET
JavaScript Node.js
Python Python
Java Java
PowerShell PowerShell Core
TypeScript Node.js
Go, Rust nebo jiné Vlastní obslužné rutiny

1 Při spuštění v Linuxu se úpravy na portálu podporují jenom v plánu Dedicated (App Service).
2 Na portálu aktuálně nemůžete vytvářet aplikace funkcí, které běží na .NET 5.0. Další informace najdete v tématu Vývoj a publikování funkcí .NET 5 pomocí Azure Functions.

Další podrobnosti najdete v tématu Podpora operačního systému nebo modulu runtime.

Pokud úpravy na portálu nejsou k dispozici, musíte místo toho vyvíjet funkce místně.

Podpora hlavní verze jazyka

Azure Functions poskytuje záruku podpory pro hlavní verze podporovaných programovacích jazyků. Ve většině jazyků jsou vydány dílčí verze nebo verze oprav, které aktualizují podporovanou hlavní verzi. Mezi dílčí verze nebo verze oprav patří Například Python 3.9.1 a Node 14.17. Jakmile budou k dispozici nové dílčí verze podporovaných jazyků, dílčí verze používané vašimi aplikacemi funkcí se automaticky upgraduje na tyto novější dílčí verze nebo verze oprav.

Poznámka

Vzhledem k Azure Functions může podporu starších dílčích verzí kdykoli po vytvoření nové podverdy odebrat, neměli byste aplikace funkcí připínát na konkrétní dílčí/opravnou verzi programovacího jazyka.

Vlastní obslužné rutiny

Vlastní obslužné rutiny jsou jednoduché webové servery, které přijímají události z Azure Functions hostitele. Vlastní obslužnou rutinu může implementovat libovolný jazyk, který podporuje primitivy HTTP. To znamená, že vlastní obslužné rutiny lze použít k vytváření funkcí v jazycích, které nejsou oficiálně podporovány. Další informace najdete v tématu Azure Functions obslužné rutiny.

Rozšiřitelnost jazyka

Počínaje verzí 2.x je modul runtime navržený tak, aby nabízí rozšiřitelnost jazyka. Jazyky JavaScript a Java v modulu runtime verze 2.x jsou vytvořené s touto rozšiřitelností.

Další kroky

Další informace o tom, jak vyvíjet funkce v podporovaných jazycích, najdete v následujících zdrojích informací: