In Azure Functions unterstützte Sprachen

In diesem Artikel werden die Unterstützungsebenen für Sprachen erläutert, die Sie mit Azure Functions verwenden können. Außerdem werden Strategien zum Erstellen von Funktionen in Sprachen beschrieben, die nicht nativ unterstützt werden.

Unterstützungsebenen

Es gibt zwei Unterstützungsebenen:

  • Allgemein verfügbar (generally available, GA) : Vollständige Unterstützung und Freigabe für die Verwendung in Produktionsumgebungen.
  • Vorschau: Noch nicht unterstützt, die Erreichung der allgemeinen Verfügbarkeit wird aber für die Zukunft erwartet.

Sprachen nach Runtimeversion

Es sind verschiedene Versionen der Azure Functions-Runtime verfügbar. Die folgende Tabelle gibt an, welche Sprachen in den beiden Runtimeversionen unterstützt werden.

Sprache 1.x 2.x 3.x 4.x
C# Allgemeine Verfügbarkeit (.NET Framework 4.8) Allgemeine Verfügbarkeit (.NET Core 2.11) Allgemeine Verfügbarkeit (.NET Core 3.1)
Allgemeine Verfügbarkeit (.NET 5.0)
Allgemeine Verfügbarkeit (.NET 6.0)
Vorschau (.NET 7)
Vorschau (.NET Framework 4.8)
JavaScript GA (Node.js 6) GA (Node.js 10 und 8) GA (Node.js 14, 12 und 10) GA (Node.js 14)
GA (Node.js 16)
Vorschau (Node.js 18)
F# Allgemeine Verfügbarkeit (.NET Framework 4.8) Allgemeine Verfügbarkeit (.NET Core 2.11) Allgemeine Verfügbarkeit (.NET Core 3.1) Allgemeine Verfügbarkeit (.NET 6.0)
Java Allgemeine Verfügbarkeit (Java 8) GA (Java 11 und 8) GA (Java 11 und 8)
Vorschau (Java 17)
PowerShell Allgemeine Verfügbarkeit (PowerShell Core 6) GA (PowerShell 7.0 und Core 6) Allgemeine Verfügbarkeit (PowerShell 7.2)
Python GA (Python 3.7 und 3.6) GA (Python 3.9, 3.8, 3.7 und 3.6) GA (Python 3.9, 3.8, 3.7)
TypeScript2 Allgemein verfügbar Allgemein verfügbar Allgemein verfügbar

1 Apps mit .NET-Klassenbibliotheken für Runtimeversion 2.x werden im .NET Core 2.x-Kompatibilitätsmodus unter .NET Core 3.1 ausgeführt. Weitere Informationen finden Sie unter Überlegungen zu Functions v2.x.
2 Unterstützt durch Transpilierung in JavaScript

Weitere Informationen zu unterstützten Sprachversionen finden Sie im sprachspezifischen Artikel im Entwicklerhandbuch.
Informationen zu geplanten Änderungen an der Sprachunterstützung finden Sie unter Azure-Roadmap.

Details zur Sprachunterstützung

Die folgende Tabelle zeigt, welche von Functions unterstützten Sprachen unter Linux oder Windows ausgeführt werden können. Außerdem wird angegeben, ob Ihre Sprache die Bearbeitung im Azure-Portal unterstützt. Die Sprache basiert auf der Option Laufzeitstapel, die Sie beim Erstellen Ihrer Funktions-App im Azure-Portal auswählen. Diese entspricht der Option --worker-runtime bei Verwendung des Befehls func init in den Azure Functions Core Tools.

Sprache Laufzeitstapel Linux Windows Bearbeitung im Portal
C#-Klassenbibliothek1 .NET
C#-Skript .NET
JavaScript Node.js
Python Python
Java Java
PowerShell PowerShell Core
TypeScript Node.js
Go/Rust/other Benutzerdefinierte Handler

1 Im Portal können Sie derzeit keine Funktions-Apps erstellen, die unter .NET 5.0 ausgeführt werden. Weitere Informationen zu .NET 5-Funktionen finden Sie unter Entwickeln und Veröffentlichen von .NET 5-Funktionen mithilfe von Azure Functions.

Weitere Informationen zur Betriebssystem- und Sprachunterstützung finden Sie unter Unterstützung für Betriebssystem/Runtime.

Wenn die Bearbeitung im Portal nicht verfügbar ist, müssen Sie stattdessen Ihre Funktionen lokal entwickeln.

Sprachunterstützung für Hauptversionen

Azure Functions bietet eine garantierte Unterstützung für die Hauptversionen unterstützter Programmiersprachen. Für die meisten Sprachen gibt es Neben- oder Patchversionen, die zur Aktualisierung einer unterstützten Hauptversion veröffentlicht werden. Beispiele für Neben- oder Patchversionen sind Python 3.9.1 und Node 14.17. Sobald neue Nebenversionen unterstützter Sprachen verfügbar sind, werden die von Ihren Funktions-Apps verwendeten Nebenversionen automatisch auf diese neueren Neben- oder Patchversionen aktualisiert.

Hinweis

Da Azure Functions die Unterstützung älterer Nebenversionen jederzeit einstellen kann, sobald eine neue Nebenversion verfügbar ist, sollten Sie Ihre Funktions-Apps nicht an eine bestimmte Neben-/Patchversion einer Programmiersprache binden.

Benutzerdefinierte Handler

Benutzerdefinierte Handler sind einfache Webserver, die Ereignisse vom Azure Functions-Host empfangen. Jede Sprache, die HTTP-Primitive unterstützt, kann einen benutzerdefinierten Handler implementieren. Dies bedeutet, dass benutzerdefinierte Handler zum Erstellen von Funktionen in Sprachen verwendet werden können, die nicht offiziell unterstützt werden. Weitere Informationen finden Sie unter Benutzerdefinierte Azure Functions-Handler.

Spracherweiterbarkeit

Ab Version 2.x ist die Runtime auf Spracherweiterbarkeit ausgelegt. Die Sprachen JavaScript und Java in der Runtime 2.x verfügen über diese Erweiterbarkeit.

Nächste Schritte

Weitere Informationen zum Entwickeln von Funktionen in unterstützten Sprachen finden Sie in den folgenden Ressourcen: