Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Functions admite actualmente dos versiones del host en tiempo de ejecución. En la tabla siguiente se detallan las versiones del entorno de ejecución admitidas actualmente, su nivel de soporte y cuándo se deben usar:
| Versión | Nivel de compatibilidad | Descripción |
|---|---|---|
| 4.x | Disponibilidad general | Versión recomendada en tiempo de ejecución para funciones en todos los lenguajes. Consulte Versiones de lenguajes compatibles. |
| 1.x | Disponibilidad general (el soporte técnico finaliza el 14 de septiembre de 2026) | Solo se admite para aplicaciones de C# que deben usar .NET Framework. Esta versión está en modo de mantenimiento y solo se realizarán mejoras en versiones posteriores. El soporte técnico para la versión 1.x finalizará el 14 de septiembre de 2026. Le recomendamos encarecidamente que migren las aplicaciones a la versión 4.x, que admite .NET Framework 4.8, .NET 8, .NET 9 y .NET 10 Preview. |
Importante
A partir del 13 de diciembre de 2022, las aplicaciones de funciones que se ejecutan en las versiones 2.x y 3.x del entorno de ejecución de Azure Functions llegaron al final del soporte extendido. Para más información, vea Versiones retiradas.
En este artículo se detallan algunas de las diferencias entre las versiones admitidas, cómo se puede crear cada versión y cómo cambiar la versión en la que se ejecutan las funciones.
Niveles de soporte
Hay dos niveles de compatibilidad:
- Disponibilidad general (GA): totalmente compatible y aprobado para su uso en producción.
- Versión preliminar: todavía no se admite, pero se espera que llegue al estado de disponibilidad general en el futuro.
Lenguajes
Todas las funciones de una aplicación de función deben compartir el mismo lenguaje. Al crear la aplicación de funciones elige el lenguaje de las funciones. El lenguaje de la aplicación de funciones se mantiene en la configuración FUNCTIONS_WORKER_RUNTIME y no se puede cambiar cuando hay funciones existentes.
Asegúrese de seleccionar el lenguaje de desarrollo preferido en la parte superior del artículo.
En la tabla siguiente se muestran las versiones de .NET compatibles con Azure Functions.
La versión admitida de .NET depende de la versión en tiempo de ejecución de Functions y del modelo de ejecución seleccionado.
- Modelo de trabajo aislado
- Modelo de proceso
El código de la aplicación de funciones se ejecuta en un proceso de trabajo de .NET independiente. Use con versiones admitidas de .NET y .NET Framework. Para obtener más información, consulte Guide para ejecutar Azure Functions de C# en el modelo de trabajo aislado.
- v4.x
- v1.x
| Versión admitida | Nivel de compatibilidad | Fecha prevista de finalización del soporte técnico |
|---|---|---|
| .NET 10 | Disponibilidad general | 14 de noviembre de 2028. |
| .NET 9 | Disponibilidad general | 10 de noviembre de 20261 |
| .NET 8 | Disponibilidad general | 10 de noviembre de 2026 |
| .NET Framework 4.8.1 | Disponibilidad general | Consulte .NET Framework Support Policy. |
1 .NET 9 anteriormente tenían una fecha prevista de finalización del soporte técnico del 12 de mayo de 2026. Durante la ventana del servicio .NET 9, el equipo de .NET ha ampliado la compatibilidad con versiones de STS a 24 meses, empezando por .NET 9. Para obtener más información, consulte la entrada de blog.
Nota:
.NET 9 es la última versión .NET compatible con las aplicaciones del plan de consumo de Linux. Las versiones más recientes de .NET no han sido agregadas al entorno de ejecución Linux. Para obtener más información, consulte Migración de aplicaciones de plan de consumo al plan de consumo flexible.
.NET 6 anteriormente era compatible con el modelo de trabajo aislado, pero llegó al final del soporte oficial el 12 de noviembre de 2024.
.NET 7 anteriormente era compatible con el modelo de trabajo aislado, pero el soporte oficial finalizó el 14 de mayo de 2024.
Para obtener más información, consulte Guide para ejecutar Azure Functions de C# en el modelo de trabajo aislado.
En la tabla siguiente se muestran las versiones de idioma admitidas para aplicaciones de funciones de Java.
| Versión admitida | Nivel de compatibilidad | Compatible hasta |
|---|---|---|
| Java 25 | Preview | Pendiente |
| Java 21 | Disponibilidad general | Consulte la Hoja de ruta de lanzamiento y mantenimiento. |
| Java 17 | Disponibilidad general | Consulte la Hoja de ruta de lanzamiento y mantenimiento. |
| Java 11 | Disponibilidad general | Consulte la Hoja de ruta de lanzamiento y mantenimiento. |
| Java 8 | Disponibilidad general | Consulte la Página de soporte técnico de Temurin. |
*La fecha de finalización del soporte técnico para Java 25 se determina cuando se declara la disponibilidad general (GA).
Nota:
Java 21 es la última versión de Java compatible con las aplicaciones del plan de consumo de Linux. Las versiones más recientes de Java no se agregan al consumo de Linux. Para obtener más información, consulte Migración de aplicaciones de plan de consumo al plan de consumo flexible.
Para obtener más información sobre el desarrollo y ejecución de aplicaciones de funciones de Java, consulte Azure Functions Java guía para desarrolladores.
En la tabla siguiente se muestran las versiones de lenguaje compatibles con aplicaciones de funciones de Node.js:
| Versión admitida | Nivel de compatibilidad | Fecha prevista de finalización del soporte técnico |
|---|---|---|
| Node.js 24 | Preview | 30 de abril de 2028 |
| Node.js 22 | Disponibilidad general | 30 de abril de 2027 |
| Node.js 20 | Disponibilidad general | 30 de abril de 2026 |
TypeScript se admite mediante la transpilación a JavaScript. Para obtener más información, consulte Azure Functions Node.js guía para desarrolladores.
Nota:
Node.js 22 es la última versión de Node.js compatible con las aplicaciones del plan de consumo de Linux. Las versiones más recientes de Node.js no se agregan a Linux Consumption. Para obtener más información, consulte Migración de aplicaciones de plan de consumo al plan de consumo flexible.
En la tabla siguiente se muestra la versión del lenguaje compatible con las aplicaciones de funciones de PowerShell:
| Versión admitida | Nivel de compatibilidad | Fecha prevista de finalización del soporte técnico |
|---|---|---|
| PowerShell 7.4 | Disponibilidad general | 10 de noviembre de 2026 |
Nota:
PowerShell 7.4 es la última versión de PowerShell compatible con las aplicaciones del plan de consumo de Linux. Las versiones más recientes de PowerShell no se agregan al consumo de Linux. Para obtener más información, consulte Migración de aplicaciones de plan de consumo al plan de consumo flexible.
Para obtener más información, consulte Azure Functions guía para desarrolladores de PowerShell.
En la tabla siguiente se muestran las versiones de lenguaje admitidas para aplicaciones de funciones de Python:
| Versión admitida | Nivel de compatibilidad | Fecha prevista de finalización del soporte técnico |
|---|---|---|
| Python 3.142 | Preview | Pendiente1 |
| Python 3.13 | Disponibilidad general | Octubre de 2029 |
| Python 3.12 | Disponibilidad general | Octubre de 2028 |
| Python 3.11 | Disponibilidad general | Octubre de 2027 |
| Python 3.10 | Disponibilidad general | Octubre de 2026 |
- La fecha de finalización del soporte técnico para Python 3.14 se determina cuando se declara la disponibilidad general (GA).
- La compatibilidad con la compilación remota para Python 3.14 aún no está disponible cuando se ejecuta en un plan de consumo flexible.
Nota:
Python 3.12 es la última versión Python compatible con las aplicaciones del plan de consumo de Linux. Las versiones más recientes de Python no se agregan al consumo de Linux. Para obtener más información, consulte Migración de aplicaciones de plan de consumo al plan de consumo flexible.
Para obtener más información, consulte Azure Functions Python guía para desarrolladores.
Para obtener información sobre los cambios planeados en la compatibilidad con idiomas, consulte las actualizaciones de la hoja de ruta de Azure.
Para obtener información sobre las versiones de lenguaje de las versiones admitidas anteriormente del entorno de ejecución de Functions, vea Versiones del entorno de ejecución retiradas.
Ejecución en una versión específica
La configuración de la aplicación FUNCTIONS_EXTENSION_VERSION determina la versión del entorno de ejecución de Functions que usan las aplicaciones publicadas en Azure. En algunos casos y para determinados idiomas, se puede aplicar otra configuración.
De forma predeterminada, las aplicaciones de función creadas en el portal de Azure, por el CLI de Azure o desde las herramientas de Visual Studio se establecen en la versión 4.x. Puede modificar esta versión en caso necesario. Solo puede degradar la versión del entorno en tiempo de ejecución a 1.x después de crear la aplicación de funciones, pero antes de agregar ninguna función. La actualización a una versión principal posterior se permite incluso con las aplicaciones que tienen funciones existentes.
Migración de las aplicaciones de funciones existentes
Cuando la aplicación tenga funciones existentes, deberá tomar precauciones antes de pasar a una versión posterior del runtime principal. En los artículos siguientes se detallan los cambios importantes entre las versiones principales, incluidos los cambios importantes específicos del lenguaje. También se proporcionan instrucciones paso a paso para una migración correcta de la aplicación de funciones existente.
- Migración de la versión 3.x del runtime a la versión 4.x
- Migración de la versión 1.x del runtime a la versión 4.x
Cambiar la versión de las aplicaciones en Azure
Se usan los siguientes valores principales de la versión del runtime:
| Importancia | Destino del entorno en tiempo de ejecución |
|---|---|
~4 |
4.x |
~1 |
1.x |
Importante
No cambie este valor de la aplicación sin motivo, ya que se podrían necesitar otros cambios de valor de aplicación y cambios en el código de función. Para las aplicaciones de funciones existentes, siga las instrucciones de migración.
Anclaje a una versión secundaria específica
Para resolver problemas que la aplicación de funciones podría tener al ejecutarse en la versión principal más reciente, debe anclar temporalmente la aplicación a una versión secundaria específica. El anclaje le proporciona tiempo para que la aplicación se ejecute correctamente en la versión principal más reciente. La forma de anclar a una versión secundaria difiere entre Windows y Linux. Para obtener más información, consulte Cómo tener como destino las versiones del entorno de ejecución de Azure Functions.
Las versiones secundarias anteriores se quitan periódicamente de Functions. Para obtener las últimas noticias sobre las versiones de Azure Functions, incluida la eliminación de versiones secundarias anteriores específicas, supervise los anuncios de Azure App Service.
Versiones de extensión mínimas
Técnicamente no hay correlación entre las versiones de extensión de enlace y la versión del entorno de ejecución de Functions. Pero a partir de la versión 4.x, el entorno de ejecución de Functions aplica una versión mínima para todas las extensiones de desencadenador y enlace.
Si recibe una advertencia sobre un paquete que no cumple una versión mínima necesaria, debe actualizar ese paquete NuGet a la versión mínima como lo haría normalmente. Los requisitos mínimos de versión para las extensiones usadas en Functions v4.x se pueden encontrar en el archivo de configuración vinculado.
Para el script de C#, actualice la referencia de agrupación de extensiones en el host.json de la manera siguiente:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Técnicamente no hay correlación entre las versiones del conjunto de extensiones y la versión del entorno de ejecución de Functions. Pero a partir de la versión 4.x, el entorno de ejecución de Functions aplica una versión mínima para los conjuntos de extensiones.
Si recibe una advertencia sobre la versión del paquete de extensiones que no cumple una versión mínima necesaria, actualice la referencia del lote de extensión existente en el host.json como se indica a continuación:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Para más información sobre los conjuntos de extensiones, vea Conjuntos de extensiones.
Versiones retiradas
Importante
Support finalizará para la versión 1.x del entorno de ejecución de Azure Functions el 14 de septiembre de 2026. Se recomienda encarecidamente migrar las aplicaciones a la versión 4.x para obtener soporte completo.
Estas versiones del entorno de ejecución de Functions llegaron al final del soporte extendido el 13 de diciembre de 2022.
| Versión | Nivel de soporte técnico actual | Nivel de soporte técnico anterior |
|---|---|---|
| 3.x | Fuera de soporte técnico | Disponibilidad general |
| 2.x | Fuera de soporte técnico | Disponibilidad general |
Tan pronto como sea posible, debe migrar las aplicaciones a la versión 4.x para obtener soporte técnico completo. Para obtener un conjunto completo de instrucciones de migración específicas del lenguaje, consulte Migrar aplicaciones a Azure Functions versión 4.x.
Las aplicaciones que utilizan las versiones 2.x y 3.x pueden seguir creándose y desplegándose desde su canal CI/CD DevOps, y todas las aplicaciones existentes siguen ejecutándose sin cambios de última hora. Pero las aplicaciones no son aptas para recibir nuevas características, revisiones de seguridad ni optimizaciones del rendimiento. Solo puede obtener soporte técnico del servicio relacionado después de actualizar las aplicaciones a la versión 4.x.
Las versiones 2.x y 3.x ya no se admiten debido al final de la compatibilidad con .NET Core 3.1, que era una dependencia principal. Este requisito afecta a todos los languages admitidos por Azure Functions.
Versiones de aplicaciones desarrolladas de forma local
Puede hacer que las siguientes actualizaciones de las aplicaciones de funciones cambien localmente las versiones de destino.
versiones del entorno de ejecución de Visual Studio
En Visual Studio, seleccione la versión en tiempo de ejecución al crear un proyecto. Las herramientas de Azure Functions para Visual Studio admiten las dos versiones principales del tiempo de ejecución. Se usa la versión correcta al depurar y publicar en función de configuración del proyecto. La configuración de la versión se define en el archivo .csproj en las siguientes propiedades:
- Versión 4.x
- Versión 1.x
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
Si usa el modelo de trabajo aislado, puede elegir, , o como marco de destino. También puede usar compatibilidad con la versión preliminar para . Si usa el modelo in-process, puede elegir net8.0 o net6.0 y debe incluir la extensión Microsoft.NET.Sdk.Functions establecida en al menos 4.4.0. .NET 10 no es compatible con el modelo en proceso; si está en el modelo en proceso y desea usar .NET 10, migren la aplicación al modelo de trabajo aislado.
.NET 6 se admitía anteriormente en el modelo de trabajo aislado y en el modelo en proceso, pero alcanzó el final del soporte oficial el 12 de noviembre de 2024. .NET 7 se admitía anteriormente en el modelo de trabajo aislado, pero llegó al final del soporte oficial el 14 de mayo de 2024.
Visual Studio Code y Azure Functions Core Tools
Azure Functions Core Tools se usa para el desarrollo de línea de comandos y también para la extensión Azure Functions para Visual Studio Code. Para obtener más información, consulte Install the Azure Functions Core Tools.
Para el desarrollo de Visual Studio Code, también podría necesitar actualizar la configuración de usuario para azureFunctions.projectRuntime para que coincida con la versión de las herramientas instaladas. Esta configuración también actualiza las plantillas y los lenguajes utilizados durante la creación de la aplicación de función.
Enlaces
A partir de la versión 2.x, el entorno de ejecución usa un nuevo modelo de extensibilidad binding que ofrece estas ventajas:
Compatibilidad con extensiones de enlace que no son de Microsoft.
Desacoplamiento de tiempo de ejecución y enlaces. Este cambio permite el control de versiones y la publicación de las extensiones de enlace de forma independiente. Por ejemplo, puede elegir actualizar a una versión de una extensión que se basa en una versión más reciente de un SDK subyacente.
Un entorno de ejecución más ligero, donde solo se conocen y se cargan en tiempo de ejecución los enlaces que están en uso.
A excepción de los desencadenadores HTTP y de temporizador, todos los enlaces deben agregarse explícitamente al proyecto de aplicación de funciones o registrarse en el portal. Para obtener más información, consulte los patrones de expresiones de enlace de Azure Functions.
En esta tabla se muestran los enlaces que se admiten en las versiones principales del entorno de ejecución de Azure Functions:
| Tipo | 4.x1 | 1.x2 | Desencadenador | Entrada | Salida |
|---|---|---|---|---|---|
| Blob Storage | ✔ | ✔ | ✔ | ✔ | ✔ |
| Azure Cosmos DB | ✔ | ✔ | ✔ | ✔ | ✔ |
| Azure Data Explorer | ✔ | ✔ | ✔ | ||
| Azure SQL | ✔ | ✔ | ✔ | ✔ | |
| Dapr4 | ✔ | ✔ | ✔ | ✔ | |
| Event Grid | ✔ | ✔ | ✔ | ✔ | |
| Event Hubs | ✔ | ✔ | ✔ | ✔ | |
| HTTP y webhooks | ✔ | ✔ | ✔ | ✔ | |
| IoT Hub | ✔ | ✔ | ✔ | ||
| Kafka3 | ✔ | ✔ | ✔ | ||
| Aplicaciones móviles | ✔ | ✔ | ✔ | ||
| Protocolo de contexto de modelo | ✔ | ✔ | |||
| Centros de notificaciones | ✔ | ✔ | |||
| Almacenamiento de Colas | ✔ | ✔ | ✔ | ✔ | |
| Redis | ✔ | ✔ | ✔ | ✔ | |
| RabbitMQ3 | ✔ | ✔ | ✔ | ||
| SendGrid | ✔ | ✔ | ✔ | ||
| Service Bus | ✔ | ✔ | ✔ | ✔ | |
| Azure SignalR Service | ✔ | ✔ | ✔ | ✔ | |
| Almacenamiento de Tablas | ✔ | ✔ | ✔ | ✔ | |
| Temporizador | ✔ | ✔ | ✔ | ||
| Twilio | ✔ | ✔ | ✔ |
- Registre todos los enlaces excepto HTTP y temporizador. Consulte Registrar extensiones de enlace de Azure Functions. Este paso no es necesario cuando se usa la versión 1.x del entorno de ejecución de Functions.
- Support finaliza para la versión 1.x del entorno de ejecución de Azure Functions el 14 de septiembre de 2026. Migre las aplicaciones a la versión 4.x para obtener compatibilidad completa.
- Los desencadenadores no se admiten en el plan de consumo. Este tipo de enlace requiere desencadenadores controlados por tiempo de ejecución.
- Este tipo de enlace solo se admite en Kubernetes, Azure IoT Edge y otros modos autohospedados.
Duración del tiempo de espera de una aplicación de función
La propiedad del archivo host.json establece la duración del tiempo de espera para las funciones en una aplicación de funciones. Esta propiedad se aplica específicamente a las ejecuciones de funciones. Una vez que el desencadenador inicia la ejecución de la función, la función debe devolver o responder dentro de la duración del tiempo de espera. Cuando una ejecución supera esta duración, se produce un error de tiempo de espera y se reinicia el proceso de trabajo de lenguaje. En el caso de las aplicaciones de C# que se ejecutan en proceso, el host o proceso anfitrión se reinicia. Para evitar tiempos de espera y reinicios posteriores del proceso, es importante escribir funciones sólidas. Para obtener más información, consulte Mejorar el rendimiento y la confiabilidad de Azure Functions.
En la tabla siguiente se muestran los valores predeterminados y máximos (en minutos) para planes específicos:
| Planificación | Valor predeterminado | Máximo 1 |
|---|---|---|
| Plan de Consumo flexible | 30 | Sin enlazar2 |
| Plan Premium | 304 | Sin enlazar2 |
| Plan dedicado | 304 | Sin enlazar3 |
| Aplicaciones de contenedores | 30 | Sin enlazar5 |
| Plan de consumo | 5 | 10 |
- Independientemente de la configuración de tiempo de espera de la aplicación de funciones, 230 segundos es la cantidad máxima de tiempo que una función desencadenada por HTTP puede tardar en responder a una solicitud. Este límite existe debido al valor predeterminado del tiempo de espera de inactividad del Azure Load Balancer. Para tiempos de procesamiento más largos, considere la posibilidad de usar el patrón asincrónico Durable Functions o aplazar el trabajo real y devolver una respuesta inmediata.
- No se impone una duración máxima del tiempo de espera de ejecución. Sin embargo, el período de gracia proporcionado a una ejecución de una función es de 60 minutos durante la reducción horizontal para los planes Flex Consumption y Premium, y se da un período de gracia de 10 minutos durante las actualizaciones de la plataforma.
- Requiere que el plan de App Service se establezca en Always On. Se da un período de gracia de 10 minutos durante las actualizaciones de la plataforma.
- El tiempo de espera predeterminado para la versión 1.x del host de ejecución de Functions es ilimitado.
- Cuando el número mínimo de réplicas se establece en cero, el tiempo de espera predeterminado depende de los desencadenadores específicos usados en la aplicación.
Estos valores asumen que el proceso de host de Azure Functions se inicia y se ejecuta correctamente. Hay un tiempo de espera máximo de 60 segundos para que también se inicie el proceso de trabajo específico del lenguaje. El tiempo de espera de inicio del proceso de trabajo no se puede configurar actualmente.
Contenido relacionado
Para obtener más información, consulte los siguientes recursos: