Registrar Azure Functions extensões de associaçãoRegister Azure Functions binding extensions

No Azure Functions versão 2. x, as associações estão disponíveis como pacotes separados do tempo de execução do functions.In Azure Functions version 2.x, bindings are available as separate packages from the functions runtime. Enquanto as funções do .NET acessam associações por meio de pacotes NuGet, os pacotes de extensão permitem que outras funções acessem todas as associações por meio de um parâmetro de configuração.While .NET functions access bindings through NuGet packages, extension bundles allow other functions access to all bindings through a configuration setting.

Considere os seguintes itens relacionados a extensões de associação:Consider the following items related to binding extensions:

A tabela a seguir indica quando e como você registra as associações.The following table indicates when and how you register bindings.

Ambiente de desenvolvimentoDevelopment environment RegistroRegistration
em funções de 1. xin Functions 1.x
RegistroRegistration
em funções 2. xin Functions 2.x
Portal do AzureAzure portal AutomáticoAutomatic AutomáticoAutomatic
Idiomas Non-.NET ou desenvolvimento de ferramentas principais do Azure localNon-.NET languages or local Azure Core Tools development AutomáticoAutomatic Usar Azure Functions Core Tools e pacotes de extensãoUse Azure Functions Core Tools and extension bundles
C#biblioteca de classes usando o Visual StudioC# class library using Visual Studio Usar as ferramentas do NuGetUse NuGet tools Usar as ferramentas do NuGetUse NuGet tools
Biblioteca de classes C# usando o código do Visual StudioC# class library using Visual Studio Code N/DN/A Use o .NET Core CLIUse .NET Core CLI

Pacotes de extensão para desenvolvimento localExtension bundles for local development

Os pacotes de extensão são uma tecnologia de implantação que permite adicionar um conjunto compatível de extensões de associação de funções ao seu aplicativo de funções.Extension bundles is a deployment technology that lets you add a compatible set of Functions binding extensions to your function app. Um conjunto predefinido de extensões é adicionado quando você cria seu aplicativo.A predefined set of extensions are added when you build your app. Os pacotes de extensão definidos em um pacote são compatíveis entre si, o que ajuda a evitar conflitos entre pacotes.Extension packages defined in a bundle are compatible with each other, which helps you avoid conflicts between packages. Você habilita pacotes de extensão no arquivo host. JSON do aplicativo.You enable extension bundles in the app's host.json file.

Você pode usar pacotes de extensão com a versão 2. x e versões posteriores do tempo de execução do functions.You can use extension bundles with version 2.x and later versions of the Functions runtime. Ao desenvolver localmente, verifique se você está usando a versão mais recente do Azure Functions Core Tools.When developing locally, make sure you are using the latest version of Azure Functions Core Tools.

Use pacotes de extensão para o desenvolvimento local usando Azure Functions Core Tools, Visual Studio Code e quando você cria remotamente.Use extension bundles for local development using Azure Functions Core Tools, Visual Studio Code, and when you build remotely.

Se você não usar pacotes de extensão, deverá instalar o SDK do .NET Core 2. x em seu computador local antes de instalar qualquer extensão de associação.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. Os pacotes de extensão eliminam esse requisito para o desenvolvimento local.Extension bundles removes this requirement for local development.

Para usar pacotes de extensão, atualize o arquivo host. JSON para incluir a seguinte entrada para 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)"
    }
}

As propriedades a seguir estão disponíveis no extensionBundle:The following properties are available in extensionBundle:

PropriedadeProperty DESCRIÇÃODescription
IDid O namespace para pacotes de extensão do Microsoft Azure functions.The namespace for Microsoft Azure Functions extension bundles.
versionversion A versão do pacote a ser instalado.The version of the bundle to install. O tempo de execução do Functions sempre escolhe a versão máxima permitida definida pelo intervalo de versão ou intervalo.The Functions runtime always picks the maximum permissible version defined by the version range or interval. O valor da versão acima permite todas as versões do pacote da 1.0.0 até, mas não incluindo 2.0.0.The version value above allows all bundle versions from 1.0.0 up to but not including 2.0.0. Para obter mais informações, consulte a notação de intervalo para especificar intervalos de versão.For more information, see the interval notation for specifying version ranges.

As versões do pacote são incrementadas como pacotes na alteração do pacote.Bundle versions increment as packages in the bundle change. As alterações de versão principal ocorrem quando os pacotes no pacote são incrementados por uma versão principal.Major version changes occur when packages in the bundle increment by a major version. As alterações de versão principais no pacote geralmente coincidem com uma alteração na versão principal do tempo de execução do functions.Major version changes in the bundle usually coincide with a change in the major version of the Functions runtime.

O conjunto atual de extensões instaladas pelo pacote padrão é enumerado neste arquivo Extensions. JSON.The current set of extensions installed by the default bundle is enumerated in this extensions.json file.

C# biblioteca de classes com o Visual StudioC# class library with Visual Studio

No Visual Studio, você pode instalar pacotes do console do Gerenciador de pacotes usando o comando install-Package , conforme mostrado no exemplo a seguir: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>

O nome do pacote usado para uma determinada associação é fornecido no artigo de referência para essa associação.The name of the package used for a given binding is provided in the reference article for that binding. Para obter um exemplo, consulte o pacotes seção do artigo de referência de associação do barramento de serviço.For an example, see the Packages section of the Service Bus binding reference article.

Substituir <TARGET_VERSION> no exemplo com uma versão específica do pacote, como 3.0.0-beta5.Replace <TARGET_VERSION> in the example with a specific version of the package, such as 3.0.0-beta5. As versões válidas são listadas nas páginas de pacote individuais em NuGet.org. As versões principais que correspondem ao Functions Runtime 1. x ou 2. x são especificadas no artigo de referência para a associação.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.

Se você usar Install-Package para fazer referência a uma associação, não precisará usar pacotes de extensão.If you use Install-Package to reference a binding, you don't need to use extension bundles. Essa abordagem é específica para bibliotecas de classes criadas no Visual Studio.This approach is specific for class libraries built in Visual Studio.

C# biblioteca de classes com Visual Studio CodeC# class library with Visual Studio Code

Observação

É recomendável usar pacotes de extensão para que o Functions instale automaticamente um conjunto compatível de pacotes de extensão de associação.We recommend using extension bundles to have Functions automatically install a compatible set of binding extension packages.

No Visual Studio Code, instale pacotes para um C# projeto de biblioteca de classes do prompt de comando usando o comando dotnet adicionar pacote na CLI do .NET Core.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. O exemplo a seguir demonstra como você adiciona uma associação:The following example demonstrates how you add a binding:

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

O .NET Core CLI só pode ser usado para o desenvolvimento do Azure Functions 2.x.The .NET Core CLI can only be used for Azure Functions 2.x development.

Substitua <BINDING_TYPE_NAME> pelo nome do pacote que contém a associação de que você precisa.Replace <BINDING_TYPE_NAME> with the name of the package that contains the binding you need. Você pode encontrar o artigo de referência de associação desejada na lista de associações com suporte.You can find the desired binding reference article in the list of supported bindings.

Substituir <TARGET_VERSION> no exemplo com uma versão específica do pacote, como 3.0.0-beta5.Replace <TARGET_VERSION> in the example with a specific version of the package, such as 3.0.0-beta5. As versões válidas são listadas nas páginas de pacote individuais em NuGet.org. As versões principais que correspondem ao Functions Runtime 1. x ou 2. x são especificadas no artigo de referência para a associação.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.

Próximas etapasNext steps