Solución de problemas comunes durante la actualización de Azure Runtime
En este artículo se describe cómo resolver algunos de los problemas comunes que pueden producirse durante la actualización del lenguaje de la aplicación de funciones o la versión en tiempo de ejecución, como que el tiempo de ejecución no se encuentra y no se encuentran módulos.
Acciones que se deben realizar si recibe un correo electrónico "Acción recomendada: Actualización de las aplicaciones de Azure Functions para usar .NET 6".
La compatibilidad ampliada con Microsoft .NET Core 3.1 finalizó el 3 de diciembre de 2022. El entorno de ejecución de Azure Functions v3 se basa en .NET Core 3.1. Se recomienda actualizar la aplicación de funciones a la versión 4.x del entorno de ejecución, que usa .NET 6 y tiene compatibilidad a largo plazo. Después del 3 de diciembre de 2022, las aplicaciones no son aptas para nuevas características, revisiones de seguridad, optimizaciones de rendimiento o soporte técnico hasta que las actualice a la versión 4.x del entorno de ejecución de Functions.
Las aplicaciones de Functions en tiempo de ejecución v3 seguirán ejecutándose y las aplicaciones no se verán afectadas. Puede implementar código en estas aplicaciones de Functions después de esta fecha. Pero podemos quitar la capacidad de crear aplicaciones destinadas a Functions Runtime v3 mediante rutas de acceso comunes.
Para obtener más información e instrucciones de migración, consulte:
Validación de la compatibilidad de la aplicación de funciones para runtime v4
- Vaya a la aplicación de funciones en Azure Portal. Seleccione Diagnosticar y resolver problemas para abrir el Diagnóstico de las Funciones de Azure. En la barra de Buscar, tipo Actualización del Idioma de la Aplicación de la Función o la Versión del Tiempo de Ejecución para ejecutarlo directamente. El informe de diagnóstico incluye orientación acerca de la actualización. Una vez completada la validación, siga las recomendaciones y solucione cualquier problema en su aplicación.
- También proporcionamos un validador previo a la actualización para ayudarlo a identificar los posibles problemas al migrar su aplicación de las funciones a 4.x. En la misma barra de búsqueda de diagnósticos, escriba Funciones 4.validador x Previo a la Actualización para ejecutarlo directamente. Una vez completada la validación, siga las recomendaciones y solucione cualquier problema en su aplicación.
- Recomendamos encarecidamente hacer una actualización del entorno del proyecto local a la versión 4.x. Pruebe completamente la aplicación en el entorno local con la versión 4.x de Azure Functions Core Tools.
- Considere usar un ranura de puesta en escena para probar y verificar su aplicación de Azure en la nueva versión de tiempo de ejecución antes de implementarla en una ranura de producción. Recuerde establecer
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS=0
para la migración con ranuras.
Cambio de la versión en tiempo de ejecución de Functions para Windows
- Establezca FUNCTIONS_EXTENSION_VERSION, que es una configuración de aplicación en el panel Configuración de Azure Portal, en
~4
. Para obtener más información, consulte Cambio de la versión en tiempo de ejecución. - Establezca la configuración del
netFrameworkVersion
sitio en .NET 6 de destino.netFrameworkVersion
es una configuración de siteConfig, no una configuración de aplicación. Y no está disponible directamente en Azure Portal. Pero puede establecerlo mediante El Explorador de recursos de Azure o la CLI de Azure o PowerShell.
Para más información, consulte Versiones en entorno de ejecución de Functions.
Cambio de la versión en tiempo de ejecución de Functions para Linux
- Establezca FUNCTIONS_EXTENSION_VERSION, que es una configuración de aplicación en el panel Configuración de Azure Portal, en
~4
. Para obtener más información, consulte Cambio de la versión en tiempo de ejecución. - Establezca
LinuxFxVersion
, mediante la interfaz de la línea de comandos (CLI), en<Language>|<LanguageVersion>
, en función del idioma usado. Para obtener más información, consulte Uso de LinuxFxVersion para Aplicaciones de funciones de Linux. Por ejemplo, para actualizar a .NET 6, puede establecer enLinuxFxVersion
dotnet|6.0
yFUNCTIONS_EXTENSION_VERSION
en~4
.
Para más información, consulte Versiones en entorno de ejecución de Functions.
Obtener una lista de los idiomas admitidos por la versión en tiempo de ejecución
Consulte la lista de idiomas admitidos por la versión en tiempo de ejecución.
Actualización de la configuración de la versión de idioma de la aplicación de funciones después de actualizar el código
- PowerShell: en Azure Portal, establezca .
PowerShell Core version
Para más información, consulte Cambio de la versión de PowerShell. - Python: establezca
linuxFxVersion
enpython|3.x
. Para más información, consulte Cambio de la versión de Python. - Java: Especifique la versión del idioma mediante
-DjavaVersion
como 11 o 17. Para más información, consulte Especificación de la versión de implementación. - Node, JavaScript: para Windows, establezca la configuración de la
WEBSITE_NODE_DEFAULT_VERSION
aplicación en~16
. Para Linux, establezcalinuxFxVersion
, mediante la CLI, ennode|16
. Para obtener más información, consulte Establecimiento de la versión del nodo.
Uso de servidores proxy de Azure Functions
La compatibilidad con los proxy está disponible de nuevo en la versión 4.x para que pueda actualizar correctamente las aplicaciones de funciones a la versión más reciente del entorno de ejecución. Sin embargo, se recomienda cambiar a la integración de las aplicaciones de funciones con Azure API Management lo antes posible. API Management permite aprovechar un conjunto más completo de características para definir, proteger, administrar y monetizar las API basadas en Functions. Para obtener más información, consulte Cómo migrar a APIM e Integración de Functions con APIM mediante Visual Studio.
Obtenga una lista de todas las aplicaciones de Azure Functions que usan la versión 1.x, 2.x o 3.x del entorno de ejecución.
- Vaya a la aplicación de funciones en Azure Portal.
- Seleccione Diagnosticar y resolver problemas para abrir el Diagnóstico de las Funciones de Azure.
- En la barra de Buscar, tipo Actualización del Idioma de la Aplicación de la Función o la Versión del Tiempo de Ejecución para ejecutarlo directamente.
- En el informe de diagnóstico, desplácese hacia abajo y seleccione Enumerar todos los detalles de la vista de la aplicación de>funciones.
- Establezca los filtros de búsqueda y seleccione Mostrar para obtener la lista de aplicaciones de funciones en la suscripción actual.
Como alternativa, puede usar llamadas a la API REST de App Service (GetConfiguration) para determinarlo. LinuxFxVersion
y WindowsFxVersion
proporcionan la información de versión.
Traslado de una aplicación de .NET Framework 4.6.1 del entorno de ejecución de Functions v1 a la versión 4
.NET Framework 4.6.1 ha alcanzado el final del ciclo de vida, por lo que las aplicaciones deben actualizarse a .NET Framework 4.8. En Functions v4, puede ejecutar una aplicación de .NET Framework 4.8 en modo fuera de proceso. Para más información, consulte la guía de proceso aislado.
Una aplicación de funciones migrada no se inicia o tiene algunos problemas en tiempo de ejecución
- En el caso de las aplicaciones .NET, recuerde actualizar el código a .NET 6 antes de compilar e implementar.
- Compruebe la versión en tiempo de ejecución de la aplicación en Azure Portal.
- Para las aplicaciones de Windows, también debe establecer
netFrameworkVersion
mediante la CLI o PowerShell. - Asegúrese de que usa los conjuntos de extensiones 2.x o posteriores, como se recomienda. La versión 4.x del entorno de ejecución de Functions requiere versiones 2.x o 3.0.0.
- El inicio de sesión en Azure Storage con AzureWebJobsDashboard ya no se admite en la versión 4.x. En su lugar, use Application Insights para la supervisión.
- Si recibe un mensaje que indica que el entorno de ejecución de Azure Functions no es accesible y comparte cuentas de almacenamiento, consulte Consideraciones sobre el identificador de host.
- Azure Functions 4.x no admite Node.js 10 y 12, Python 3.6 y PowerShell 6. Para obtener más información, consulte Versiones de lenguaje compatibles con el entorno de ejecución v4.
- En el caso de las funciones de Python, si hay errores relacionados con la colisión de módulos y el módulo no encontrado, intente establecer
PYTHON_ISOLATE_WORKER_DEPENDENCIES
en 1 en la configuración de la aplicación. - Revise Migración de aplicaciones de funciones existentes.
- En el caso de problemas en tiempo de ejecución, en la opción Diagnosticar y resolver problemas en Azure Portal, busque Aplicación de funciones inactivas o notifique errores y revise el informe de diagnóstico para ver los mensajes de error y las soluciones. Revise también el detector Comprobaciones de configuración de función para asegurarse de que la configuración es correcta.
- Revise el blog Problemas al actualizar las aplicaciones de funciones de Azure a V4 para obtener sugerencias de solución de problemas adicionales.
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.