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: