Registro de las extensiones de enlace de Azure FunctionsRegister Azure Functions binding extensions

En la versión de Azure Functions 2.x, los enlaces están disponibles como paquetes independientes de Functions Runtime.In Azure Functions version 2.x, bindings are available as separate packages from the functions runtime. Aunque las funciones de .NET acceden a los enlaces a través de paquetes NuGet, los grupos de extensiones permiten a otras funciones acceder a todos los enlaces mediante una opción de configuración.While .NET functions access bindings through NuGet packages, extension bundles allow other functions access to all bindings through a configuration setting.

Tenga en cuenta los siguientes elementos relacionados con las extensiones de enlaces:Consider the following items related to binding extensions:

En la tabla siguiente se indica cuándo y cómo registrar los enlaces.The following table indicates when and how you register bindings.

Entorno de desarrolloDevelopment environment RegistroRegistration
en Functions 1.xin Functions 1.x
RegistroRegistration
en Functions 2.xin Functions 2.x
Portal de AzureAzure portal AutomáticoAutomatic AutomáticoAutomatic
Desarrollo en lenguajes que no son .NET o en Azure Functions Core Tools localNon-.NET languages or local Azure Core Tools development AutomáticoAutomatic Uso de Azure Functions Core Tools y agrupaciones de extensionesUse Azure Functions Core Tools and extension bundles
Biblioteca de clases de C# con Visual StudioC# class library using Visual Studio Uso de herramientas NuGetUse NuGet tools Uso de herramientas NuGetUse NuGet tools
Biblioteca de clases de C# con Visual Studio CodeC# class library using Visual Studio Code N/DN/A Uso de la CLI de .NET CoreUse .NET Core CLI

Agrupaciones de extensiones para el desarrollo localExtension bundles for local development

Las agrupaciones de extensiones son una tecnología de desarrollo de la versión 2.x del runtime que le permite agregar un conjunto compatible de extensiones de enlaces de Functions al proyecto de aplicación de funciones.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. Estos paquetes de extensiones se incluyen en el paquete de implementación al implementar en Azure.These extension packages are then included in the deployment package when you deploy to Azure. Las agrupaciones hacen que todos los enlaces publicados por Microsoft estén disponibles mediante un valor del archivo host.json.Bundles makes all bindings published by Microsoft available through a setting in the host.json file. Los paquetes de extensiones definidos en una agrupación son compatibles entre sí, lo cual le ayuda a evitar conflictos entre ellos.Extension packages defined in a bundle are compatible with each other, which helps you avoid conflicts between packages. Cuando desarrolle localmente, asegúrese de que está utilizando la versión más reciente de Azure Functions Core Tools.When developing locally, make sure you are using the latest version of Azure Functions Core Tools.

Use agrupaciones de extensiones para todo el desarrollo local con Azure Functions Core Tools o Visual Studio Code.Use extension bundles for all local development using Azure Functions Core Tools or Visual Studio Code.

Si no usa agrupaciones de extensiones, deberá instalar el SDK de .NET Core 2.x en el equipo local antes de instalar las extensiones de enlaces.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. Las agrupaciones permiten eliminar este requisito para el desarrollo local.Bundles removes this requirement for local development.

Para usar agrupaciones de extensiones, actualice el archivo host.json para que incluya la siguiente 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)"
    }
}

Las siguientes propiedades están disponibles en extensionBundle:The following properties are available in extensionBundle:

PropiedadProperty DESCRIPCIÓNDescription
id Espacio de nombres de las agrupaciones de extensiones de Microsoft Azure Functions.The namespace for Microsoft Azure Functions extension bundles.
version Versión de la agrupación que va a instalar.The version of the bundle to install. Functions Runtime siempre elige la máxima versión permitida definida por el rango o intervalo de versiones.The Functions runtime always picks the maximum permissible version defined by the version range or interval. El valor de versión anterior permite todas las versiones de agrupaciones desde la 1.0.0 en adelante pero sin incluir la 2.0.0.The version value above allows all bundle versions from 1.0.0 up to but not including 2.0.0. Para más información, consulte la notación de intervalo para especificar intervalos de versiones.For more information, see the interval notation for specifying version ranges.

Las versiones de las agrupaciones aumentan a medida que cambian los paquetes de la agrupación.Bundle versions increment as packages in the bundle change. Los cambios de versión principal se producen cuando los paquetes de la agrupación aumentan debido a una versión principal, lo cual normalmente coincide con un cambio en la versión principal de Functions Runtime.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.

El conjunto actual de extensiones instaladas mediante la agrupación predeterminada se enumera en este archivo extensions.json.The current set of extensions installed by the default bundle are enumerated in this extensions.json file.

Biblioteca de clases de C# con Visual StudioC# class library with Visual Studio

En Visual Studio, puede instalar paquetes desde la Consola del Administrador de paquetes mediante el comando Install-Package, tal como se muestra en el ejemplo siguiente: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>

El nombre del paquete que se usa para un enlace determinado se proporciona en el artículo de referencia de ese enlace.The name of the package used for a given binding is provided in the reference article for that binding. Para obtener un ejemplo, consulte la sección de paquetes del artículo de referencia de enlace de Service Bus.For an example, see the Packages section of the Service Bus binding reference article.

Reemplace <TARGET_VERSION> en el ejemplo con una versión específica del paquete, como 3.0.0-beta5.Replace <TARGET_VERSION> in the example with a specific version of the package, such as 3.0.0-beta5. Las versiones válidas se enumeran en las páginas individuales del paquete en NuGet.org. Las versiones principales que corresponden al tiempo de ejecución de Functions 1.x o 2.x se especifican en el artículo de referencia del enlace.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.

Si usa Install-Package para hacer referencia a un enlace, no es necesario utilizar paquetes de extensión.If you use Install-Package to reference a binding, you do not need to use extension bundles. Este enfoque es específico de las bibliotecas de clases compiladas en Visual Studio.This approach is specific for class libraries built in Visual Studio.

Biblioteca de clases de C# con Visual Studio CodeC# class library with Visual Studio Code

Nota

Se recomienda usar agrupaciones de extensiones para que Functions instale automáticamente un conjunto compatible de paquetes de extensiones de enlace.We recommend using extension bundles to have Functions automatically install a compatible set of binding extension packages.

En Visual Studio Code, instale paquetes para un proyecto de biblioteca de clases de C# desde el símbolo del sistema mediante el comando dotnet add package de la CLI de .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. En el ejemplo siguiente se muestra cómo agregar un enlace:The following example demonstrates how you add a binding:

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

La CLI de .NET Core solo puede utilizarse para el desarrollo de Azure Functions 2.x.The .NET Core CLI can only be used for Azure Functions 2.x development.

Reemplace <BINDING_TYPE_NAME> por el nombre del paquete proporcionado en el artículo de referencia para el enlace que desee.Replace <BINDING_TYPE_NAME> with the name of the package provided in the reference article for your desired binding. Puede encontrar el artículo de referencia de enlace deseado en la lista de enlaces admitidos.You can find the desired binding reference article in the list of supported bindings.

Reemplace <TARGET_VERSION> en el ejemplo con una versión específica del paquete, como 3.0.0-beta5.Replace <TARGET_VERSION> in the example with a specific version of the package, such as 3.0.0-beta5. Las versiones válidas se enumeran en las páginas individuales del paquete en NuGet.org. Las versiones principales que corresponden al tiempo de ejecución de Functions 1.x o 2.x se especifican en el artículo de referencia del enlace.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.

Pasos siguientesNext steps