Problemas al ejecutar funciones de Azure utilizando el tiempo de ejecución 4, .NET 6, fuera de proceso.
Estoy intentando ejecutar un conjunto de funciones de Azure usando .NET 6 y dotnet-isolated
. Cuando se ejecuta localmente, el método Program.cs/Main
se invoca correctamente. Sin embargo, cuando se publica en Azure, el método Program.cs/Main
nunca se llama (lo que resulta en fallas porque la inyección de dependencias no está inicializada).
Mi local.settings.json
se ve así:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
"FUNCTIONS_EXTENSION_VERSION": "~4"
}
}
En el portal de Azure, al mirar la transmisión en vivo, puedo ver lo siguiente:
2022-01-06T18:38:22.618Z INFO - Iniciando contenedor para el sitio
2022-01-06T18:38:22.619Z INFO - docker run -d -p 8081:8081 --name lolnotsofast_0_b59188ad_msiProxy -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=lolnotsofast.azurewebsites.net -e WEBSITE_INSTANCE_ID=[muchos caracteres hexadecimales] appsvc/msitokenservice:[algún número]
2022-01-06T18:38:22.619Z INFO - Los registros no están habilitados para este contenedor.
Utiliza https://aka.ms/linux-diagnostics para habilitar el registro y ver los registros del contenedor aquí.
2022-01-06T18:38:28.950Z INFO - Descargando imagen desde Docker hub: mcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated5.0-appservice-stage6
2022-01-06T18:38:29.127Z ERROR - DockerApiException: La API de Docker ha respondido con el código de estado=NotFound, respuesta={ "message":"manifest for mcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated5.0-appservice-stage6 not found: manifest unknown: manifest tagged by \"4-dotnet-isolated5.0-appservice-stage6\" is not found"}
2022-01-06T18:38:29.128Z WARN - Falló la descarga de la imagen. Se utilizará una copia local si está presente.
2022-01-06T18:38:29.130Z ERROR - Falló la descarga de la imagen: Verifica la configuración de la imagen de Docker y las credenciales (si se usa un repositorio privado)
2022-01-06T18:38:41.279Z INFO - Deteniendo el sitio cca-amznintegration-d-func porque falló durante el inicio.
El problema principal parece ser que esta imagen de contenedor mcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated5.0-appservice-stage6
no se reconoce.
No tengo idea de dónde/cómo se obtiene este nombre o qué significa.
¿Alguna idea sobre cómo proceder desde aquí?
¡Gracias!
davy.ai
Según la información proporcionada, parece que el problema está relacionado con el fallo en el inicio de la imagen del contenedor. Los registros muestran que la imagen, mcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated5.0-appservice-stage6, no se puede encontrar. Esto puede deberse a diversas razones, como que la imagen haya sido eliminada o que la versión de ejecución de Azure Functions se haya actualizado a una versión que ya no utiliza esta imagen.
Para continuar, puedes intentar los siguientes pasos:
Asegúrate de que la imagen Docker esté disponible y accesible. Puedes intentar extraer la imagen localmente o consultar con el soporte de Microsoft para conocer si existen problemas conocidos.
Verifica nuevamente la configuración de Azure, específicamente los valores de AzureWebJobsStorage y FUNCTIONS_WORKER_RUNTIME, para asegurarte de que coincidan con la configuración local.
Si ninguno de los pasos anteriores funciona, puedes intentar implementar en una nueva instancia de Azure Functions para ver si el problema persiste. Esto puede ayudar a aislar el problema y descartar cualquier factor ambiental.
En general, solucionar problemas de implementación de Azure Functions puede ser complejo, por lo que puede ser útil consultar la documentación de Microsoft o los recursos de soporte para obtener más orientación.