Registro de las extensiones de enlace de Azure Functions

A partir de Azure Functions versión 2.x, el entorno de ejecución de Functions solo incluye desencadenadores HTTP y de temporizador de forma predeterminada. Hay disponibles otros desencadenadores y enlaces como paquetes independientes.

Las aplicaciones de funciones de la biblioteca de clases .NET usan enlaces que se instalan en el proyecto como paquetes NuGet. Los conjuntos de extensiones permiten a las aplicaciones de funciones que no son .NET utilizar los mismos enlaces sin tener que tratar con la infraestructura de .NET.

En la tabla siguiente se indica cuándo y cómo registrar los enlaces.

Entorno de desarrollo Registro
en Functions 1.x
Registro
en Functions 2.x o posterior
Portal de Azure Automático Automático*
Lenguajes que no son .NET Automático Use conjuntos de extensiones (recomendado) o instale las extensiones de forma explícita.
Biblioteca de clases de C# con Visual Studio Uso de herramientas NuGet Uso de herramientas NuGet
Biblioteca de clases de C# con Visual Studio Code N/D Uso de la CLI de .NET Core

* El portal usa conjuntos de extensiones, incluido el script de C#.

Conjuntos de extensiones

De manera predeterminada, Java, JavaScript, PowerShell, Python, script de C# y aplicaciones de funciones del controlador personalizado usan conjuntos de extensiones para trabajar con extensiones de enlace. En los casos en los que no se pueden usar conjuntos de extensiones, puede instalar explícitamente extensiones de enlace con el proyecto de aplicación de funciones. Los conjuntos de extensiones son compatibles con la versión 2.x y posteriores del runtime de Functions.

Los conjuntos de extensiones son una manera de agregar un conjunto predefinido de extensiones de enlace compatibles a la aplicación de funciones. Los conjuntos de extensiones tienen control de versiones. Cada versión contiene un conjunto específico de extensiones de enlace que se ha comprobado que funcionan juntas. Seleccione una versión del conjunto en función de las extensiones que necesite en la aplicación.

Al crear un proyecto de Functions que no sea .NET a partir de herramientas o en el portal, los conjuntos de extensiones ya están habilitados en el archivo host.json de la aplicación.

La sección extensionBundle de un archivo host.json define una referencia del conjunto de extensiones, como se indica a continuación:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Las siguientes propiedades están disponibles en extensionBundle:

Propiedad Descripción
id Espacio de nombres de las agrupaciones de extensiones de Microsoft Azure Functions.
version El rango de versión de la agrupación a instalar. Functions Runtime siempre elige la máxima versión permitida definida por el rango o intervalo de versiones. Por ejemplo, un version intervalo de valores de [4.0.0, 5.0.0) permite todas las versiones de agrupación de 4.0.0 hasta , pero no incluye 5.0.0. Para más información, consulte la notación de intervalo para especificar intervalos de versiones.

En la tabla siguiente se enumeran los rangos de versiones disponibles actualmente del conjunto predeterminado Microsoft.Azure.Functions.ExtensionBundle y los vínculos a las extensiones que incluyen.

Versión del conjunto Versión en host.json Extensiones incluidas
1.x [1.*, 2.0.0) Consulte el archivo extensions.json utilizado para generar el conjunto.
2.x [2.*, 3.0.0) Consulte el archivo extensions.json utilizado para generar el conjunto.
3.x [3.3.0, 4.0.0) Consulte el archivo extensions.json utilizado para generar el conjunto.
4.x [4.0.0, 5.0.0) Consulte el archivo extensions.json utilizado para generar el conjunto.

Nota

Aunque host.json admite rangos personalizados para version, debe usar un valor de rango de versión de esta tabla, como [4.0.0, 5.0.0).

Instalación explícita de extensiones

En el caso de los proyectos de biblioteca de clases de C# compilados (en proceso y de proceso de trabajo aislado), instale los paquetes de NuGet para las extensiones que necesitaría normalmente. Para obtener ejemplos, consulte la guía para desarrolladores de Visual Studio Code o la guía para desarrolladores de Visual Studio.

Para lenguajes que no sean .NET y el script de C#, cuando no se pueden usar conjuntos de extensiones, debe instalar manualmente las extensiones de enlace necesarias en el proyecto local. La manera más fácil es usar Azure Functions Core Tools. Para obtener más información, consulte instalación de extensiones de Functions.

Para el desarrollo exclusivo en el portal, debe crear manualmente un archivo extensions.csproj en la raíz de la aplicación de funciones. Para obtener más información, consulte Instalación manual de extensiones.

Pasos siguientes