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 función o la versión en tiempo de ejecución, como que el entorno de ejecución no es accesible y no se encuentran módulos.
Acciones que debe realizar si recibe un correo electrónico "Acción recomendada: Actualizar las aplicaciones de Azure Functions para usar .NET 6".
El soporte extendido para Microsoft .NET Core 3.1 finalizó el 3 de diciembre de 2022. Azure Functions runtime v3 se basa en .NET Core 3.1. Se recomienda actualizar la aplicación de funciones a la versión en tiempo de ejecución 4.x, 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 functions runtime versión 4.x.
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 al entorno de ejecución de Functions v3 mediante rutas de acceso comunes.
Para obtener más información y orientación sobre la 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 el Azure Portal. Seleccione Diagnosticar y resolver problemas para abrir Azure Functions diagnóstico. En la barra De búsqueda , escriba Actualizar el lenguaje de la aplicación de funciones o la versión en tiempo de ejecución para ejecutarlo directamente. El informe de diagnóstico incluye instrucciones sobre la actualización. Una vez completada la validación, siga las recomendaciones y solucione los problemas de la aplicación.
- También proporcionamos un validador previo a la actualización para ayudarle a identificar posibles problemas al migrar la aplicación de funciones a 4.x. En la misma barra de búsqueda de diagnóstico, escriba Functions 4.x Pre-Upgrade Validator para ejecutarlo directamente. Una vez completada la validación, siga las recomendaciones y solucione los problemas de la aplicación.
- Se recomienda encarecidamente actualizar el entorno de proyecto local a la versión 4.x. Pruebe completamente la aplicación localmente mediante la versión 4.x de las herramientas principales de Azure Functions.
- Considere la posibilidad de usar una ranura de ensayo para probar y comprobar la aplicación en Azure en la nueva versión en tiempo de ejecución antes de implementarla en una ranura de producción. No olvide establecer
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS=0
para la migración con ranuras.
Cambio de la versión del entorno 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,
~4
en . 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 como destino.netFrameworkVersion
es una configuración SiteConfig, no una configuración de aplicación. Y no está disponible directamente en el Azure Portal. Pero puede establecerlo mediante Azure Resource Explorer o la CLI de Azure o PowerShell.
Para obtener más información, consulte Versiones del entorno de ejecución de Functions.
Cambio de la versión del entorno 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,
~4
en . Para obtener más información, consulte Cambio de la versión en tiempo de ejecución. - Establezca
LinuxFxVersion
, mediante la interfaz de línea de comandos (CLI),<Language>|<LanguageVersion>
en , en función del idioma utilizado. 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 obtener más información, consulte Versiones del 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.
Actualizar la configuración de la versión del lenguaje para la aplicación de funciones después de actualizar el código
- PowerShell: en el Azure Portal, establezca .
PowerShell Core version
Para obtener más información, vea Cambiar la versión de PowerShell. - Python: establezca en
linuxFxVersion
python|3.x
. Para obtener más información, consulte Cambio de la versión de Python. - Java: especifique la versión del lenguaje usando
-DjavaVersion
como 11 o 17. Para obtener más información, vea Especificar 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, vea Establecer la versión del nodo.
uso de servidores proxy de Azure Functions
La compatibilidad con servidores proxy está disponible de nuevo en la versión 4.x para que pueda actualizar correctamente las aplicaciones de función 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 función con Azure API Management lo antes posible. API Management le 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 Migración a APIM e Integración de funciones con APIM mediante Visual Studio.
Obtenga una lista de todas las aplicaciones Azure Functions que usan la versión en tiempo de ejecución 1.x, 2.x o 3.x
- Vaya a la aplicación de funciones en el Azure Portal.
- Seleccione Diagnosticar y resolver problemas para abrir Azure Functions diagnóstico.
- En la barra De búsqueda , escriba Actualizar el lenguaje de la aplicación de funciones o la versión en tiempo de ejecución para ejecutarlo directamente.
- En el informe de diagnóstico, desplácese hacia abajo y seleccione Enumerar todos losdetalles de vistade la aplicación> de funciones.
- Establezca los filtros de búsqueda y seleccione Mostrar para obtener la lista de aplicaciones de funciones de la suscripción actual.
Como alternativa, puede usar App Service llamadas API REST (GetConfiguration) para determinar esto. LinuxFxVersion
y WindowsFxVersion
proporcione la información de versión.
Traslado de una aplicación de .NET Framework 4.6.1 de Functions Runtime v1 a v4
.NET Framework 4.6.1 ha llegado al 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 obtener más información, consulte la guía de procesos aislados.
Una aplicación de función 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 el Azure Portal.
- Para las aplicaciones de Windows, también debe establecer
netFrameworkVersion
mediante la CLI o PowerShell. - Asegúrese de que usa las agrupaciones de extensiones 2.x o posteriores, como se recomienda. La versión 4.x del entorno de ejecución de Functions requiere las versiones 2.x o 3.0.0.
- El inicio de sesión en Azure Storage mediante AzureWebJobsDashboard ya no se admite en 4.x. En su lugar, use Application Insights para la supervisión.
- Si recibe un mensaje que indica que Azure Functions tiempo de ejecución no es accesible y está compartiendo 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 no se encuentra el módulo, 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 los problemas en tiempo de ejecución, en la opción Diagnosticar y resolver problemas de la Azure Portal, busque Function app down (Aplicación de funciones) o notifique errores y revise el informe de diagnóstico para ver los mensajes de error y las soluciones. Revise también el detector de comprobaciones de configuración de funciones 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 adicionales de solución de problemas.
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.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de