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 2019 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

Lokale Entwicklung mit Azure Functions Core Tools und ErweiterungsbundlesLocal development with Azure Functions Core Tools and extension bundles

Registrieren von ErweiterungenRegister extensions

Mit Ausnahme von HTTP- und Zeitauslösern werden Functions-Bindungen in der Laufzeitversion 2.x als Erweiterungspakete implementiert.With the exception of HTTP and timer triggers, Functions bindings in runtime version 2.x are implemented as extension packages. In Version 2.x der Azure Functions Runtime müssen Sie die in Ihren Funktionen für die Bindungstypen verwendeten Erweiterungen explizit registrieren.In version 2.x of the Azure Functions runtime, you have to explicitly register the extensions for the binding types used in your functions. Die Ausnahmen hierbei sind HTTP-Bindungen und Zeitauslöser, die keine Erweiterungen erfordern.The exceptions to this are HTTP bindings and timer triggers, which do not require extensions.

Sie können auch Bindungserweiterungen einzeln installieren, oder Sie können einen Erweiterungsbündelverweis in der Datei „host.json“ hinzufügen.You can choose to install binding extensions individually, or you can add an extension bundle reference to the host.json project file. Erweiterungsbündel wirken eventuellen Kompatibilitätsproblemen bei Paketen entgegen, wenn mehrere Bindungstypen verwendet werden.Extension bundles removes the chance of having package compatibility issues when using multiple binding types. Es handelt sich hierbei um den empfohlenen Ansatz zum Registrieren von Bindungserweiterungen.It is the recommended approach for registering binding extensions. Erweiterungsbündel beseitigen außerdem die Notwendigkeit der Installation des .NET Core 2.x SDK.Extension bundles also removes the requirement of installing the .NET Core 2.x SDK.

ErweiterungsbündelExtension bundles

Der einfachste Weg, Bindungserweiterungen zu installieren, ist die Aktivierung von Erweiterungspaketen.The easiest way to install binding extensions is to enable extension bundles. Wenn die Pakete aktiviert sind, wird ein vordefinierter Satz von Erweiterungspaketen automatisch installiert.With bundles enabled, a predefined set of extension packages are automatically installed.

Um Erweiterungspakete zu aktivieren, öffnen Sie die Datei host.json und aktualisieren Sie ihren Inhalt entsprechend dem folgenden Code:To enable extension bundles, open the host.json file and update its contents to match the following code:

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

Weitere Informationen finden Sie unter Registrieren von Bindungserweiterungen von Azure Functions.To learn more, see Register Azure Functions binding extensions. Sie sollten Erweiterungsbündel in de Datei „host.json“ hinzufügen, bevor Sie der Datei „functions.json“ Bindungen hinzufügen.You should add extension bundles to the host.json before you add bindings to the functions.json file.

Registrieren einzelner ErweiterungenRegister individual extensions

Wenn Sie Erweiterungen installieren müssen, die nicht in einem Bündel enthalten sind, können Sie einzelne Erweiterungspakete für bestimmte Bindungen manuell registrieren.If you need to install extensions that aren't in a bundle, you can manually register individual extension packages for specific bindings.

Hinweis

Um Erweiterungen mithilfe von func extensions install manuell zu registrieren, müssen Sie das .NET Core 2.x SDK installiert haben.To manually register extensions by using func extensions install, you must have the .NET Core 2.x SDK installed.

Nachdem Sie Ihre Datei function.json aktualisiert haben, sodass sie alle von der Funktion benötigten Bindungen einschließt, führen Sie den folgenden Befehl im Projektordner aus.After you have updated your function.json file to include all the bindings that your function needs, run the following command in the project folder.

func extensions install

Der Befehl liest die Datei function.json, um zu ermitteln, welche Pakete Sie benötigen, installiert diese und erzeugt das Erweiterungenprojekt neu.The command reads the function.json file to see which packages you need, installs them, and rebuilds the extensions project. Er fügt alle neuen Bindungen an die aktuelle Version hinzu, aktualisiert aber keine vorhandenen Bindungen.It adds any new bindings at the current version but does not update existing bindings. Verwenden Sie die Option --force, um vorhandene Bindungen beim Installieren neuer auf die neueste Version zu aktualisieren.Use the --force option to update existing bindings to the latest version when installing new ones.

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

In Visual Studio 2019 können Sie Pakete mithilfe des Befehls Install-Package aus der Paket-Manager-Konsole installieren, wie es im folgenden Beispiel gezeigt wird:In Visual Studio 2019, 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.

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

In Visual Studio Code können Sie Pakete über die Eingabeaufforderung installieren. Verwenden Sie dazu den Befehl dotnet add package in der .NET Core-CLI, wie es im folgenden Beispiel gezeigt wird:In Visual Studio Code, you can install packages from the command prompt using the dotnet add package command in the .NET Core CLI, as shown in the following example:

dotnet add package Microsoft.Azure.WebJobs.Extensions.ServiceBus --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.

Der Name des Pakets, das für eine bestimmte Bindung verwendet werden muss, ist im Referenzartikel für diese Bindung angegeben.The name of the package to use 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.

Nächste SchritteNext steps