Freigeben über


Registrieren von Bindungserweiterungen von Azure Functions

Die Azure Functions-Laufzeit führt systemeigene HTTP- und Timertrigger aus. Die Verhaltensweisen der anderen unterstützten Trigger und Bindungen werden in separaten Erweiterungspaketen implementiert.

Projekte, die eine .NET-Klassenbibliothek verwenden, verwenden Bindungserweiterungen, die im Projekt als NuGet-Pakete installiert sind.

Erweiterungspakete ermöglichen non-.NET Apps die Verwendung von Bindungserweiterungen, ohne mit .NET-Infrastruktur interagieren zu müssen.

Extension bundles

Erweiterungspakete fügen ihrer Funktions-App einen vordefinierten Satz kompatibler Bindungserweiterungen hinzu. 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 Azure Functions-Projekt aus einer non-.NET Vorlage erstellen, sind Erweiterungspakete bereits in der Datei der App host.json aktiviert.

Verwenden Sie nach Möglichkeit den neuesten Versionsbereich, um optimale App-Leistung und Zugriff auf die neuesten Features zu erhalten. Weitere Informationen zu Erweiterungspaketen finden Sie unter Azure Functions-Erweiterungspakete.

Im unwahrscheinlichen Fall, dass Sie kein Erweiterungspaket verwenden können, müssen Sie stattdessen Erweiterungen explizit installieren.

Explizites Installieren von Erweiterungen

Für Projekte, die eine kompilierte C#-Klassenbibliothek verwenden, installieren Sie die NuGet-Pakete für die Erweiterungen, die Sie wie gewohnt in Ihren Apps benötigen. Weitere Informationen finden Sie im Visual Studio Code-Entwicklerhandbuch oder im Visual Studio-Entwicklerhandbuch.

Stellen Sie sicher, dass Sie das richtige Paket abrufen, da sich der Namespace je nach Ausführungsmodell unterscheidet:

Execution model Namespace
Isolierter Workerprozess Microsoft.Azure.Functions.Worker.Extensions.*
In-process Microsoft.Azure.WebJobs.Extensions.*

Azure Functions stellt Erweiterungspakete für non-.NET Projekte bereit. Diese Bündel enthalten einen vollständigen Satz von Bindungserweiterungen, die als kompatibel bestätigt wurden. Wenn Kompatibilitätsprobleme zwischen zwei oder mehr Bindungserweiterungen auftreten, überprüfen Sie kompatible Kombinationen von Erweiterungsversionen. Unterstützte Kombinationen von Bindungserweiterungen finden Sie auf der Releaseseite für Erweiterungspakete.

Es gibt Fälle, in denen Sie keine Erweiterungsbündel verwenden können, z. B. wenn Sie eine bestimmte Vorabversion einer bestimmten Erweiterung verwenden müssen. In diesen seltenen Fällen müssen Sie alle erforderlichen Bindungserweiterungen manuell in einer C#-Projektdatei installieren, die auf die spezifischen Erweiterungen verweist, die Ihre App benötigt.

So installieren Sie Bindungserweiterungen manuell:

  1. Entfernen Sie den Erweiterungspaketverweis aus Ihrer host.json Datei.

  2. Verwenden Sie den func extensions install Befehl in den Azure Functions Core Tools, um die erforderliche extensions.csproj Datei im Stammverzeichnis Ihres lokalen Projekts zu generieren.

    Für die nur portalbasierte Entwicklung müssen Sie manuell eine extensions.csproj Datei im Stammverzeichnis Ihrer Funktions-App in Azure erstellen. Weitere Informationen finden Sie unter Manuelles Installieren von Erweiterungen.

  3. Bearbeiten Sie die extensions.csproj Datei, indem Sie explizit ein PackageReference Element für jede bestimmte Bindungserweiterung und -version hinzufügen, die Ihre App benötigt.

  4. Überprüfen Sie Ihre App-Funktionalität lokal und stellen Sie dann Ihr Projekt, einschließlich der Funktionen-App extensions.csproj, erneut in Azure bereit.

Sobald wie möglich, sollten Sie Ihre App wieder auf die Verwendung des neuesten unterstützten Erweiterungspakets umstellen.