Compartir vía


Registro de las extensiones de enlace de Azure Functions

El tiempo de ejecución de Azure Functions ejecuta de forma nativa desencadenadores HTTP y temporizadores. Los comportamientos de los otros desencadenadores y enlaces admitidos se implementan en paquetes de extensión independientes.

Los proyectos que usan una biblioteca de clases de .NET usan extensiones de enlace instaladas en el proyecto como paquetes NuGet.

Las agrupaciones de extensiones permiten que las aplicaciones de non-.NET usen extensiones de enlace sin tener que interactuar con la infraestructura de .NET.

Extension bundles

Las combinaciones de extensiones agregan un conjunto predefinido de extensiones de enlace compatibles a su 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 Azure Functions a partir de una plantilla de non-.NET, los conjuntos de extensiones ya están habilitados en el archivo de host.json la aplicación.

Cuando sea posible, use el intervalo de versiones más reciente para obtener un rendimiento óptimo de la aplicación y acceder a las características más recientes. Para más información sobre los conjuntos de extensiones, consulte Paquetes de extensiones de Azure Functions.

En el improbable caso de que no pueda usar un paquete de extensiones, debe instalar las extensiones explícitamente.

Instalación explícita de extensiones

Para los proyectos que usan una biblioteca de clases de C# compilada, instale los paquetes NuGet para las extensiones que necesita como lo haría normalmente en las aplicaciones. Para obtener más información, consulte Guía para desarrolladores de Visual Studio Code o la Guía para desarrolladores de Visual Studio.

Asegúrese de obtener el paquete correcto, ya que el espacio de nombres difiere en función del modelo de ejecución:

Execution model Namespace
Proceso de trabajo aislado Microsoft.Azure.Functions.Worker.Extensions.*
In-process Microsoft.Azure.WebJobs.Extensions.*

Azure Functions proporciona paquetes de extensión para proyectos de non-.NET. Estos conjuntos contienen un conjunto completo de extensiones de enlace que se comprueban que son compatibles. Si tiene problemas de compatibilidad entre dos o más extensiones de enlace, revise las combinaciones compatibles de versiones de extensión. Para obtener combinaciones admitidas de extensiones de enlace, consulte la página de versión de los conjuntos de extensiones.

Hay casos en los que no se pueden usar agrupaciones de extensiones, como cuando es necesario usar una versión preliminar específica de una extensión específica. En estos casos poco frecuentes, debes instalar manualmente las extensiones de enlace necesarias en un archivo de proyecto de C# que haga referencia a las extensiones específicas que requiere la aplicación.

Para instalar manualmente extensiones de enlace:

  1. Quite la referencia al paquete de extensiones del archivo host.json.

  2. Use el func extensions install comando de Azure Functions Core Tools para generar el archivo necesario extensions.csproj en la raíz del proyecto local.

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

  3. Edite el extensions.csproj archivo agregando explícitamente un PackageReference elemento para cada extensión de enlace y versión específicas que requiera la aplicación.

  4. Valide la funcionalidad de la aplicación localmente y vuelva a implementar el proyecto, incluido extensions.csproj, en la aplicación de funciones de Azure.

Tan pronto como sea posible, debes volver a cambiar la aplicación al uso del paquete de extensiones compatible más reciente.