Ondersteunde talen in Azure Functions
In dit artikel worden de ondersteuningsniveaus beschreven voor talen die u kunt gebruiken met Azure Functions. Ook worden strategieën beschreven voor het maken van functies met behulp van talen die niet systeemeigen worden ondersteund.
Ondersteuningsniveaus
Er zijn twee ondersteuningsniveaus:
- Algemeen beschikbaar (GA) - Volledig ondersteund en goedgekeurd voor productiegebruik.
- Preview: nog niet ondersteund, maar de status van de ga-status wordt in de toekomst waarschijnlijk bereikt.
Talen per runtimeversie
Er zijn verschillende versies van Azure Functions runtime beschikbaar. In de volgende tabel ziet u welke talen worden ondersteund in elke runtimeversie.
| Taal | 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 | N.v.t. | GA (Java 8) | GA (Java 11 & 8) | GA (Java 11 & 8) |
| PowerShell | N.v.t. | GA (PowerShell Core 6) | GA (PowerShell 7.0 & Core 6) | GA (PowerShell 7.0) |
| Python | N.v.t. | GA (Python 3.7 & 3.6) | GA (Python 3.9, 3.8, 3.7, & 3.6) | GA (Python 3.9, 3.8) |
| TypeScript2 | N.v.t. | Algemene beschikbaarheid | Algemene beschikbaarheid | Algemene beschikbaarheid |
1 .NET-klassebibliotheek-apps die zijn gericht op runtime versie 2.x, worden uitgevoerd op .NET Core 3.1 in de compatibiliteitsmodus van .NET Core 2.x. Zie Overwegingen voor Functions v2.x voor meer informatie.
2 Ondersteund via transpilatie naar JavaScript.
Raadpleeg het taalspecifieke artikel in de ontwikkelaarshandleiding voor meer informatie over ondersteunde taalversies.
Zie Azure-roadmap voor informatie over geplande wijzigingen aan taalondersteuning.
Details van taalondersteuning
In de volgende tabel ziet u welke talen die door Functions worden ondersteund, kunnen worden uitgevoerd in Linux of Windows. Er wordt ook aangegeven of uw taal bewerking in de Azure Portal. De taal is gebaseerd op de optie Runtimestack die u kiest bij het maken van uw functie-app in Azure Portal. Dit is hetzelfde als de --worker-runtime optie bij het gebruik van de opdracht in func init Azure Functions Core Tools.
| Taal | Runtimestack | Linux | Windows | Bewerken in de portal1 |
|---|---|---|---|---|
| C#-klassebibliotheek2 | .NET | ✓ | ✓ | |
| C#-script | .NET | ✓ | ✓ | ✓ |
| JavaScript | Node.js | ✓ | ✓ | ✓ |
| Python | Python | ✓ | ||
| Java | Java | ✓ | ✓ | |
| PowerShell | PowerShell Core | ✓ | ✓ | |
| TypeScript | Node.js | ✓ | ✓ | |
| Go/Rust/overige | Aangepaste handlers | ✓ | ✓ |
1 Wanneer u linux gebruikt, wordt bewerken in de portal alleen ondersteund in een Dedicated-abonnement (App Service).
2 In de portal kunt u momenteel geen functie-apps maken die worden uitgevoerd op .NET 5.0. Zie .NET 5-functies ontwikkelen en publiceren met behulpvan Azure Functions voor meer Azure Functions.
Zie Ondersteuning voor besturingssysteem/runtime voor meer informatie.
Wanneer bewerken in de portal niet beschikbaar is, moet u in plaats daarvan uw functies lokaal ontwikkelen.
Ondersteuning voor de belangrijkste versie van taal
Azure Functions biedt een garantie voor ondersteuning voor de belangrijkste versies van ondersteunde programmeertalen. Voor de meeste talen zijn er secundaire versies of patchversies uitgebracht om een ondersteunde hoofdversie bij te werken. Voorbeelden van secundaire versies of patchversies zijn onder andere Python 3.9.1 en Node 14.17. Nadat er nieuwe secundaire versies van ondersteunde talen beschikbaar zijn, worden de secundaire versies die door uw Functions-apps worden gebruikt, automatisch bijgewerkt naar deze nieuwere secundaire versies of patchversies.
Notitie
Omdat Azure Functions ondersteuning van oudere secundaire versies op elk moment kan verwijderen nadat een nieuwe secundaire versie beschikbaar is, moet u uw functie-apps niet vastmaken aan een specifieke secundaire/patchversie van een programmeertaal.
Aangepaste handlers
Aangepaste handlers zijn lichtgewicht webservers die gebeurtenissen ontvangen van de Azure Functions host. Elke taal die HTTP-primitieven ondersteunt, kan een aangepaste handler implementeren. Dit betekent dat aangepaste handlers kunnen worden gebruikt om functies te maken in talen die niet officieel worden ondersteund. Zie aangepaste handlers voor Azure Functions meer informatie.
Taalverkenbaarheid
Vanaf versie 2.x is de runtime ontworpen om taalverkenbaarheid te bieden. De JavaScript- en Java-talen in de 2.x-runtime zijn gebouwd met deze extensibility.
Volgende stappen
Zie de volgende bronnen voor meer informatie over het ontwikkelen van functies in de ondersteunde talen: