Registrieren von Bindungserweiterungen von Azure FunctionsRegister Azure Functions binding extensions

In Azure Functions Version 2.x sind Bindungen als separate Pakete aus der Functions-Runtime verfügbar.In Azure Functions version 2.x, bindings are available as separate packages from the functions runtime. Während .NET-Funktionen über NuGet-Pakete auf Bindungen zugreifen, ermöglichen Erweiterungsbundles anderen Funktionen den Zugriff auf alle Bindungen über eine Konfigurationseinstellung.While .NET functions access bindings through NuGet packages, extension bundles allow other functions access to all bindings through a configuration setting.

Beachten Sie die folgenden Punkte im Zusammenhang mit Bindungserweiterungen:Consider the following items related to binding extensions:

In der folgenden Tabelle ist angegeben, wann und wie Sie Bindungen registrieren.The following table indicates when and how you register bindings.

EntwicklungsumgebungDevelopment environment RegistrierungRegistration
in Functions 1.xin Functions 1.x
RegistrierungRegistration
in Functions 2.xin Functions 2.x
Azure-PortalAzure portal AutomatischAutomatic AutomatischAutomatic
Nicht zu .NET gehörende Sprachen oder lokale Azure Core Tools-EntwicklungNon-.NET languages or local Azure Core Tools development AutomatischAutomatic Verwenden von Azure Functions Core Tools und ErweiterungsbundlesUse Azure Functions Core Tools and extension bundles
C#-Klassenbibliothek mit Visual Studio 2019C# class library using Visual Studio Verwendung von NuGet-ToolsUse NuGet tools Verwendung von NuGet-ToolsUse NuGet tools
C#-Klassenbibliothek mit Visual Studio CodeC# class library using Visual Studio Code N/A Verwendung der .NET Core-CLIUse .NET Core CLI

Erweiterungsbündel für die lokale EntwicklungExtension bundles for local development

Erweiterungsbündel stellen eine Technologie für die lokale Entwicklung für Runtimeversion 2.x dar, mit der Sie Ihrem Funktions-App-Projekt einen kompatiblen Satz mit Functions-Bindungserweiterungen hinzufügen können.Extension bundles is a local development technology for the version 2.x runtime that lets you add a compatible set of Functions binding extensions to your function app project. Diese Erweiterungspakete werden bei der Bereitstellung in Azure dann in das Bereitstellungspaket eingefügt.These extension packages are then included in the deployment package when you deploy to Azure. Bei den Bündeln werden alle Bindungen, die von Microsoft veröffentlicht werden, über eine Einstellung in der Datei host.json verfügbar gemacht.Bundles makes all bindings published by Microsoft available through a setting in the host.json file. Da in einem Bündel definierte Erweiterungspakete miteinander kompatibel sind, ist dies für die Vermeidung von Konflikten zwischen Paketen hilfreich.Extension packages defined in a bundle are compatible with each other, which helps you avoid conflicts between packages. Stellen Sie beim lokalen Entwickeln sicher, dass Sie die aktuelle Version der Azure Functions Core Tools verwenden.When developing locally, make sure you are using the latest version of Azure Functions Core Tools.

Nutzen Sie Erweiterungsbündel für die gesamte lokale Entwicklung mit Azure Functions Core Tools oder Visual Studio Code.Use extension bundles for all local development using Azure Functions Core Tools or Visual Studio Code.

Wenn Sie keine Erweiterungsbündel verwenden, müssen Sie das .NET Core 2.x SDK auf Ihrem lokalen Computer installieren, bevor Sie Bindungserweiterungen installieren.If you don't use extension bundles, you must install the .NET Core 2.x SDK on your local computer before you install any binding extensions. Mit Bündeln wird diese Anforderung für die lokale Entwicklung beseitigt.Bundles removes this requirement for local development.

Um die Erweiterungsbündel zu verwenden, aktualisieren Sie die Datei host.json so, dass sie den folgenden Eintrag für extensionBundle enthält:To use extension bundles, update the host.json file to include the following entry for extensionBundle:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    }
}

In extensionBundle sind die folgenden Eigenschaften verfügbar:The following properties are available in extensionBundle:

EigenschaftProperty BESCHREIBUNGDescription
id Der Namespace für Microsoft Azure Functions-Erweiterungsbündel.The namespace for Microsoft Azure Functions extension bundles.
version Die Version des zu installierenden Pakets.The version of the bundle to install. Die Functions Runtime wählt immer die zulässige Höchstversion aus, die durch den Versionsbereich oder das Intervall definiert ist.The Functions runtime always picks the maximum permissible version defined by the version range or interval. Mit dem obigen Versionswert sind alle Bündelversionen von 1.0.0 bis kleiner als 2.0.0 zulässig.The version value above allows all bundle versions from 1.0.0 up to but not including 2.0.0. Weitere Informationen finden Sie im Abschnitt zur Intervallnotation zum Angeben von Versionsbereichen.For more information, see the interval notation for specifying version ranges.

Bündelversionen werden erhöht, wenn sich Pakete im Bündel ändern.Bundle versions increment as packages in the bundle change. Zu größeren Versionsänderungen kommt es, wenn Pakete im Bündel um einen Hauptversionswert inkrementiert werden. Dies trifft in der Regel mit einer Änderung der Hauptversion der Functions-Runtime zusammen.Major version changes occur when packages in the bundle increment by a major version, which usually coincides with a change in the major version of the Functions runtime.

Der aktuelle Erweiterungssatz, der vom Standardbündel installiert wird, ist in der Datei „extensions.json“ aufgelistet.The current set of extensions installed by the default bundle are enumerated in this extensions.json file.

C#-Klassenbibliothek mit Visual StudioC# class library with Visual Studio

In Visual Studio können Sie Pakete mithilfe des Befehls Install-Package aus der Paket-Manager-Konsole installieren, wie im folgenden Beispiel gezeigt wird:In Visual Studio, you can install packages from the Package Manager Console using the Install-Package command, as shown in the following example:

Install-Package Microsoft.Azure.WebJobs.Extensions.ServiceBus -Version <TARGET_VERSION>

Der Name des Pakets, das für eine bestimmte Bindung verwendet wird, ist im Referenzartikel für diese Bindung angegeben.The name of the package used for a given binding is provided in the reference article for that binding. Ein Beispiel finden Sie im Referenzartikel zur Service Bus-Bindung im Abschnitt „Pakete“.For an example, see the Packages section of the Service Bus binding reference article.

Ersetzen Sie <TARGET_VERSION> im Beispiel durch eine bestimmte Version des Pakets, z.B. 3.0.0-beta5.Replace <TARGET_VERSION> in the example with a specific version of the package, such as 3.0.0-beta5. Gültige Versionen sind auf den Seiten der einzelnen Pakete auf NuGet.org aufgeführt. Die Hauptversionen, die Functions Runtime 1.x oder 2.x entsprechen, sind im Referenzartikel für die Bindung angegeben.Valid versions are listed on the individual package pages at NuGet.org. The major versions that correspond to Functions runtime 1.x or 2.x are specified in the reference article for the binding.

Wenn Sie Install-Package verwenden, um auf eine Bindung zu verweisen, müssen Sie keine Erweiterungsbündel verwenden.If you use Install-Package to reference a binding, you do not need to use extension bundles. Diese Vorgehensweise ist spezifisch für Klassenbibliotheken, die in Visual Studio erstellt werden.This approach is specific for class libraries built in Visual Studio.

C#-Klassenbibliothek mit Visual Studio CodeC# class library with Visual Studio Code

Hinweis

Wir empfehlen Ihnen die Verwendung von Erweiterungsbündeln, damit von Functions automatisch ein kompatibler Satz mit Bindungserweiterungspaketen installiert wird.We recommend using extension bundles to have Functions automatically install a compatible set of binding extension packages.

Installieren Sie in Visual Studio Code Pakete für eine C#-Klassenbibliothek über die Eingabeaufforderung. Verwenden Sie hierfür den Befehl dotnet add package in der .NET Core-CLI.In Visual Studio Code, install packages for a C# class library project from the command prompt using the dotnet add package command in the .NET Core CLI. Im folgenden Beispiel wird veranschaulicht, wie Sie eine Bindung hinzufügen:The following example demonstrates how you add a binding:

dotnet add package Microsoft.Azure.WebJobs.Extensions.<BINDING_TYPE_NAME> --version <TARGET_VERSION>

Die .NET Core-CLI kann nur für die Entwicklung in Azure Functions 2.x verwendet werden.The .NET Core CLI can only be used for Azure Functions 2.x development.

Ersetzen Sie <BINDING_TYPE_NAME> durch den Namen des Pakets, das im Referenzartikel für die gewünschte Bindung bereitgestellt wird.Replace <BINDING_TYPE_NAME> with the name of the package provided in the reference article for your desired binding. Den gewünschten Bindungsreferenzartikel finden Sie in der Liste der unterstützten Bindungen.You can find the desired binding reference article in the list of supported bindings.

Ersetzen Sie <TARGET_VERSION> im Beispiel durch eine bestimmte Version des Pakets, z.B. 3.0.0-beta5.Replace <TARGET_VERSION> in the example with a specific version of the package, such as 3.0.0-beta5. Gültige Versionen sind auf den Seiten der einzelnen Pakete auf NuGet.org aufgeführt. Die Hauptversionen, die Functions Runtime 1.x oder 2.x entsprechen, sind im Referenzartikel für die Bindung angegeben.Valid versions are listed on the individual package pages at NuGet.org. The major versions that correspond to Functions runtime 1.x or 2.x are specified in the reference article for the binding.

Nächste SchritteNext steps