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.

.NET-Klassenbibliotheksprojekte 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.

Erweiterungsbündel

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 host.json-Datei der App 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 können Sie kein Erweiterungsbundle verwenden, sondern müssen Erweiterungen explizit installieren.

Explizites Installieren von Erweiterungen

Für kompilierte C#-Klassenbibliotheksprojekte 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:

Ausführungsmodell Namespace
Isolierter Workerprozess Microsoft.Azure.Functions.Worker.Extensions.*
In-Process Microsoft.Azure.WebJobs.Extensions.*

Funktionen stellen Erweiterungspakete für non-.NET Projekte bereit, die einen vollständigen Satz von Bindungserweiterungen enthalten, die überprüft werden, um kompatibel zu sein. 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 der 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 von Ihrer App benötigt werden. So installieren Sie Bindungserweiterungen manuell:

  1. Entfernen Sie den Erweiterungsbundleverweis aus ihrer host.json Datei.

  2. Verwenden Sie den Befehl zum Installieren von Func-Erweiterungen in Azure Functions Core Tools, um die erforderliche Datei "extensions.csproj " im Stammverzeichnis Ihres lokalen Projekts zu generieren.

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

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

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

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

Nächste Schritte