Lenguajes admitidos en Azure FunctionsSupported languages in Azure Functions

En este artículo se explican los niveles de soporte que se ofrecen para los lenguajes que puede usar con Azure Functions.This article explains the levels of support offered for languages that you can use with Azure Functions. También se describen las estrategias para crear funciones mediante lenguajes no admitidos de forma nativa.It also describes strategies for creating functions using languages not natively supported.

Niveles de soporteLevels of support

Hay dos niveles de compatibilidad:There are two levels of support:

  • Disponibilidad general (GA) : totalmente compatible y aprobado para su uso en producción.Generally available (GA) - Fully supported and approved for production use.
  • Versión preliminar: aún no cuenta con soporte pero se espera que llegue al estado de disponibilidad general en el futuro.Preview - Not yet supported but is expected to reach GA status in the future.

Lenguaje por versión de entorno de tiempo de ejecuciónLanguages by runtime version

Hay disponibles tres versiones del entorno en tiempo de ejecución de Azure Functions.Three versions of the Azure Functions runtime are available. En la tabla siguiente se indica qué lenguajes se admiten en cada versión del sistema de tiempo de ejecución.The following table shows which languages are supported in each runtime version.

IdiomaLanguage 1.x1.x 2.x2.x 3.x3.x
C#C# Disponibilidad general (.NET Framework 4.7)GA (.NET Framework 4.7) Disponibilidad general (.NET Core 2.2)GA (.NET Core 2.2) Disponibilidad general (.NET Core 3.1)GA (.NET Core 3.1)
JavaScriptJavaScript Disponibilidad general (nodo 6)GA (Node 6) Disponibilidad general (nodos 10 y 8)GA (Node 10 & 8) Disponibilidad general (nodos 12 y 11)GA (Node 12 & 11)
F#F# Disponibilidad general (.NET Framework 4.7)GA (.NET Framework 4.7) Disponibilidad general (.NET Core 2.2)GA (.NET Core 2.2) Disponibilidad general (.NET Core 3.1)GA (.NET Core 3.1)
JavaJava N/DN/A Disponibilidad general (Java 8)GA (Java 8) Disponibilidad general (Java 111 y 8)GA (Java 111 & 8)
PowerShellPowerShell N/DN/A Disponibilidad general (PowerShell Core 6)GA (PowerShell Core 6) Disponibilidad general (PowerShell 7 y Core 6)GA (PowerShell 7 & Core 6)
PythonPython N/DN/A Disponibilidad general (Python 3.7 y 3.6)GA (Python 3.7 & 3.6) Disponibilidad general (Python 3.8, 3.7 y 3.6)GA (Python 3.8, 3.7, & 3.6)
TypeScriptTypeScript N/DN/A GA2GA2 GA2GA2

1 La compatibilidad con la versión del lenguaje se encuentra actualmente en versión preliminar.1 Language version support is currently in preview.
2 Se admite mediante la transpilación de JavaScript.2 Supported through transpiling to JavaScript.

Para información sobre los cambios planeados en la compatibilidad de lenguaje, consulte Azure roadmap.For information about planned changes to language support, see Azure roadmap.

Controladores personalizados (versión preliminar)Custom handlers (preview)

Los controladores personalizados son servidores web ligeros que reciben eventos del host de Azure Functions.Custom handlers are lightweight web servers that receive events from the Azure Functions host. Cualquier lenguaje que admita primitivas de HTTP puede implementar un controlador personalizado.Any language that supports HTTP primitives can implement a custom handler. Esto significa que los controladores personalizados se pueden usar para crear funciones en lenguajes que no se admiten oficialmente.This means that custom handlers can be use to create functions in languages that aren't officially supported. Para obtener más información, consulte Controladores personalizados de Azure Functions (versión preliminar).To learn more, see Azure Functions custom handlers (preview).

Extensibilidad de lenguajeLanguage extensibility

A partir de la versión 2.x, el entorno de tiempo de ejecución está diseñado para ofrecer extensibilidad de lenguaje.Starting with version 2.x, the runtime is designed to offer language extensibility. Los lenguajes JavaScript y Java en el entorno de ejecución 2.x están incluidos con esta extensibilidad.The JavaScript and Java languages in the 2.x runtime are built with this extensibility.

Pasos siguientesNext steps

Para obtener más información sobre cómo desarrollar funciones en los lenguajes admitidos, consulte los siguientes recursos:To learn more about how to develop functions in the supported languages, see the following resources: