Регистрация расширений привязки функций AzureRegister Azure Functions binding extensions

В функциях Azure версии 2. x привязки доступны в виде отдельных пакетов из среды выполнения функций.In Azure Functions version 2.x, bindings are available as separate packages from the functions runtime. Несмотря на то, что функции .NET обращаются к привязкам через пакеты NuGet, пакеты расширений позволяют другим функциям обращаться ко всем привязкам через параметр конфигурации.While .NET functions access bindings through NuGet packages, extension bundles allow other functions access to all bindings through a configuration setting.

Рассмотрим следующие элементы, связанные с расширениями привязки:Consider the following items related to binding extensions:

В следующей таблице показано, когда и как регистрируются привязки.The following table indicates when and how you register bindings.

Среда разработкиDevelopment environment РегистрацияRegistration
в службе "Функции" версии 1.xin Functions 1.x
РегистрацияRegistration
в службе "Функции" версии 2.xin Functions 2.x
портале AzureAzure portal АвтоматическийAutomatic АвтоматическийAutomatic
Разработка Non-.NET языков или локальных средств Azure Core ToolsNon-.NET languages or local Azure Core Tools development АвтоматическийAutomatic Использование Azure Functions Core Tools и пакетов расширенийUse Azure Functions Core Tools and extension bundles
C#Библиотека классов с помощью Visual StudioC# class library using Visual Studio С помощью средств NuGetUse NuGet tools С помощью средств NuGetUse NuGet tools
Библиотека классов C# с использованием Visual Studio CodeC# class library using Visual Studio Code НедоступноN/A С помощью .NET Core CLIUse .NET Core CLI

Пакеты расширений для локальной разработкиExtension bundles for local development

Пакеты расширений — это технология развертывания, позволяющая добавить совместимый набор функций расширений привязки к приложению-функции.Extension bundles is a deployment technology that lets you add a compatible set of Functions binding extensions to your function app. При создании приложения добавляется предопределенный набор расширений.A predefined set of extensions are added when you build your app. Пакеты расширений, определенные в пакете, совместимы друг с другом, что позволяет избежать конфликтов между пакетами.Extension packages defined in a bundle are compatible with each other, which helps you avoid conflicts between packages. Пакеты расширений можно включить в файле host. JSON приложения.You enable extension bundles in the app's host.json file.

Вы можете использовать пакеты расширений с версией 2. x и более поздними версиями среды выполнения функций.You can use extension bundles with version 2.x and later versions of the Functions runtime. При разработке локально убедитесь, что вы используете последнюю версию Azure functions Core Tools.When developing locally, make sure you are using the latest version of Azure Functions Core Tools.

Пакеты расширений можно использовать для локальной разработки с помощью Azure Functions Core Tools, Visual Studio Code и при удаленной сборке.Use extension bundles for local development using Azure Functions Core Tools, Visual Studio Code, and when you build remotely.

Если вы не используете пакеты расширений, необходимо установить пакет SDK для .NET Core 2. x на локальном компьютере перед установкой каких бы то ни было расширений привязки.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. Пакеты расширений удаляют это требование для локальной разработки.Extension bundles removes this requirement for local development.

Чтобы использовать пакеты расширений, обновите файл Host. JSON , включив в него следующую запись для extensionBundle: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)"
    }
}

В extensionBundleдоступны следующие свойства:The following properties are available in extensionBundle:

СвойствоProperty ОПИСАНИЕDescription
idid Пространство имен для пакетов расширений функций Microsoft Azure.The namespace for Microsoft Azure Functions extension bundles.
версияversion Версия устанавливаемого пакета.The version of the bundle to install. Среда выполнения функций всегда выбирает максимально допустимую версию, определенную диапазоном версий или интервалом.The Functions runtime always picks the maximum permissible version defined by the version range or interval. Приведенное выше значение версии разрешает все версии пакета от 1.0.0 до, но не включает 2.0.0.The version value above allows all bundle versions from 1.0.0 up to but not including 2.0.0. Дополнительные сведения см. в описании интервала для указания диапазонов версий.For more information, see the interval notation for specifying version ranges.

Версии пакета увеличиваются по мере изменения пакетов в пакете.Bundle versions increment as packages in the bundle change. Основные изменения версий происходят, когда пакеты в пакете увеличиваются по основной версии.Major version changes occur when packages in the bundle increment by a major version. Изменения основной версии в пакете обычно совпадают с изменениями в основной версии среды выполнения функций.Major version changes in the bundle usually coincide with a change in the major version of the Functions runtime.

Текущий набор расширений, установленных пакетом по умолчанию, перечислен в этом файле Extensions. JSON.The current set of extensions installed by the default bundle is enumerated in this extensions.json file.

Библиотека классов C# в Visual StudioC# class library with Visual Studio

В Visual Studioпакеты можно установить из консоли диспетчера пакетов с помощью команды Install-Package , как показано в следующем примере: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>

Имя пакета, используемого для данной привязки, приведено в справочной статье для этой привязки.The name of the package used for a given binding is provided in the reference article for that binding. Например, вы можете ознакомиться с разделом о пакетах в справочной статье о привязках Служебной шины.For an example, see the Packages section of the Service Bus binding reference article.

Замените <TARGET_VERSION> в этом примере определенной версией пакета, например 3.0.0-beta5.Replace <TARGET_VERSION> in the example with a specific version of the package, such as 3.0.0-beta5. Допустимые версии перечислены на отдельных страницах пакета по адресу NuGet.org. Основные версии, соответствующие функциям среды выполнения 1. x или 2. x, указаны в справочной статье для привязки.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.

Если для ссылки на привязку используется Install-Package, не нужно использовать пакеты расширений.If you use Install-Package to reference a binding, you don't need to use extension bundles. Этот подход характерен для библиотек классов, созданных в Visual Studio.This approach is specific for class libraries built in Visual Studio.

C# библиотека классов с Visual Studio CodeC# class library with Visual Studio Code

Примечание

Мы рекомендуем использовать пакеты расширений , чтобы функции автоматически установили совместимый набор пакетов расширений привязки.We recommend using extension bundles to have Functions automatically install a compatible set of binding extension packages.

В Visual Studio Codeустановите пакеты для проекта библиотеки C# классов из командной строки с помощью команды DotNet Add Package в .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. В следующем примере показано, как добавить привязку:The following example demonstrates how you add a binding:

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

Интерфейс .NET Core CLI можно использовать только при разработке в среде "Функции Azure" версии 2.х.The .NET Core CLI can only be used for Azure Functions 2.x development.

Замените <BINDING_TYPE_NAME> именем пакета, который содержит необходимую привязку.Replace <BINDING_TYPE_NAME> with the name of the package that contains the binding you need. Нужную ссылочную статью привязки можно найти в списке поддерживаемых привязок.You can find the desired binding reference article in the list of supported bindings.

Замените <TARGET_VERSION> в этом примере определенной версией пакета, например 3.0.0-beta5.Replace <TARGET_VERSION> in the example with a specific version of the package, such as 3.0.0-beta5. Допустимые версии перечислены на отдельных страницах пакета по адресу NuGet.org. Основные версии, соответствующие функциям среды выполнения 1. x или 2. x, указаны в справочной статье для привязки.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.

Дополнительная информацияNext steps