Registrieren von Bindungserweiterungen von Azure Functions

Ab Version 2.x von Azure Functions umfasst die Funktionsruntime standardmäßig nur HTTP- und Timertrigger. Andere Trigger und Bindungen sind als separate Pakete verfügbar.

Funktions-Apps mit .NET-Klassenbibliotheken verwenden Bindungen, die als NuGet-Pakete im Projekt installiert sind. Nicht auf .NET basierende Funktions-Apps können mithilfe von Erweiterungsbündeln dieselben Bindungen nutzen, ohne mit der .NET-Infrastruktur interagieren zu müssen.

In der folgenden Tabelle ist angegeben, wann und wie Sie Bindungen registrieren.

Entwicklungsumgebung Registrierung
in Functions 1.x
Registrierung
in Funktionen 2.x oder höher
Azure-Portal Automatic Automatic*
Nicht-.NET-Sprachen Automatic Verwendung von Erweiterungsbundles (empfohlen) oder explizite Installation von Erweiterungen
C#-Klassenbibliothek mit Visual Studio 2019 Verwendung von NuGet-Tools Verwendung von NuGet-Tools
C#-Klassenbibliothek mit Visual Studio Code Verwendung der .NET Core-CLI

* Portal verwendet Erweiterungsbündel, einschließlich C#-Skript.

Erweiterungsbündel

Standardmäßig werden Erweiterungsbündel von Java, JavaScript, PowerShell, Python, C#-Skript und benutzerdefinierten Handler-Funktions-Apps verwendet, um mit Bindungserweiterungen zu arbeiten. In Fällen, in denen Erweiterungsbündel nicht verwendet werden können, können Sie explizit Bindungserweiterungen mit Ihrem Funktions-App-Projekt installieren. Erweiterungsbündel werden für Version 2.x und höher der Funktionslaufzeit unterstützt.

Mit Erweiterungsbündeln können Sie Ihrer Funktions-App einen vordefinierten Satz an kompatiblen Bindungserweiterungen hinzufügen. Erweiterungsbundles sind mit Versionsangaben versehen. Jede Version enthält einen bestimmten Satz an Bindungserweiterungen, deren gemeinsame Funktionalität überprüft wurde. Wählen Sie eine Bundleversion entsprechend den Erweiterungen aus, die Sie in Ihrer App benötigen.

Wenn Sie ein nicht auf .NET basierendes Functions-Projekt aus Tooling oder im Portal erstellen, sind Erweiterungsbündel in der Datei host.json der App bereits aktiviert.

Ein Erweiterungsbündelverweis wird durch den Abschnitt extensionBundle in einer host.json wie folgt definiert:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[3.3.0, 4.0.0)"
    }
}

In extensionBundle sind die folgenden Eigenschaften verfügbar:

Eigenschaft BESCHREIBUNG
id Der Namespace für Microsoft Azure Functions-Erweiterungsbündel.
version Die Version des zu installierenden Pakets. Die Functions Runtime wählt immer die zulässige Höchstversion aus, die durch den Versionsbereich oder das Intervall definiert ist. Mit dem obigen Versionswert sind alle Bündelversionen von 3.3.0 bis kleiner als 4.0.0 zulässig. Weitere Informationen finden Sie im Abschnitt zur Intervallnotation zum Angeben von Versionsbereichen.

Hinweis

In Version 3.x des Erweiterungspakets sind die Table Storage-Bindungen derzeit nicht enthalten. Wenn Ihre App Table Storage erfordert, müssen Sie vorerst weiterhin die Version 2.x verwenden.

In der folgenden Tabelle werden die derzeit verfügbaren Versionen des Standardbundles Microsoft.Azure.Functions.ExtensionBundle sowie Links zu den darin enthaltenen Erweiterungen aufgeführt.

Bundleversion Version in „host.json“ Enthaltene Erweiterungen
1.x [1.*, 2.0.0) Siehe Datei extensions.json, mit der das Bundle generiert wurde
2.x [2.*, 3.0.0) Siehe Datei extensions.json, mit der das Bundle generiert wurde
3.x [3.3.0, 4.0.0) Siehe Datei extensions.json, mit der das Bundle1 generiert wurde

1 In Version 3.x des Erweiterungsbündel sind die Table Storage-Bindungen derzeit nicht enthalten. Wenn Ihre App Table Storage erfordert, müssen Sie vorerst weiterhin die Version 2.x verwenden.

Hinweis

Obwohl die Datei „host.json“ benutzerdefinierte Bereiche für version unterstützt, sollten Sie einen Versionswert aus dieser Tabelle verwenden.

Explizites Installieren von Erweiterungen

Für kompilierte C#-Klassenbibliotheksprojekte (prozessinterner und isolierter Prozess) installieren Sie die NuGet-Pakete für die Erweiterungen, die Sie wie gewohnt benötigen. Beispiele finden Sie im Visual Studio Code-Entwicklerhandbuch oder im Visual Studio-Entwicklerhandbuch.

Wenn Sie für nicht auf .NET basierte Sprachen und C#-Skript keine Erweiterungsbündel verwenden können, müssen Sie erforderliche Bindungserweiterungen manuell in Ihrem lokalen Projekt installieren. Die einfachste Möglichkeit besteht darin, Azure Functions Core Tools zu verwenden. Weitere Informationen finden Sie unter Installieren von Erweiterungen.

Bei der reinen Portalentwicklung müssen Sie manuell eine extensions.csproj-Datei im Stamm Ihrer Funktions-App erstellen. Weitere Informationen finden Sie unter Manuelles Installieren von Erweiterungen.

Nächste Schritte