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í:
- Referenční informace pro vývojáře knihoven tříd jazyka C#
- Referenční informace pro vývojáře skriptů jazyka C#
- Referenční informace pro vývojáře v Javě
- Referenční informace pro vývojáře JavaScriptu
- Referenční informace pro vývojáře v PowerShellu
- Referenční informace pro vývojáře v Pythonu
- Referenční informace pro vývojáře TypeScriptu