Linguagens com suporte no Azure Functions

Este artigo explica os níveis de suporte oferecido para linguagens que você pode usar com o Azure Functions. Ele também descreve estratégias para criar funções usando linguagens sem suporte nativo.

Níveis de suporte

Há dois níveis de suporte:

  • Geralmente disponível (GA) – com suporte total e aprovado para uso em produção.
  • Versão prévia: ainda não tem suporte, mas espera-se que alcance o status de GA no futuro.

Linguagens por versão de runtime

Várias versões de runtime do Azure Functions estão disponíveis. A tabela a seguir indica quais linguagens têm suporte em cada versão de runtime.

Idioma 1.x 2. x 3.x 4.x (versão prévia)
C# GA (.NET Framework 4.8) GA (.NET Core 2.11) GA (.NET Core 3.1)
GA (.NET 5.0)
Versão prévia (.NET 6.0)
JavaScript GA (Nó 6) GA (Node 10 e 8) GA (Node 14, 12 e 10) Versão Prévia (Nó 14)
F# GA (.NET Framework 4.8) GA (.NET Core 2.11) GA (.NET Core 3.1) Versão prévia (.NET 6.0)
Java N/D GA (Java 8) GA (Java 11 e 8) Versão prévia (Java 11 e 8)
PowerShell N/D GA (PowerShell Core 6) GA (PowerShell 7.0 e Core 6) Versão prévia (PowerShell 7.0)
Python N/D GA (Python 3.7 e 3.6) GA (Python 3.9, 3.8, 3.7 e 3.6) Versão prévia (Python 3.9, 3.8)
TypeScript2 N/D GA GA Visualização

1 Os aplicativos da biblioteca de classes .NET voltados para o runtime versão 2.x agora podem ser executados no .NET Core 3.1 no modo de compatibilidade do .NET Core 2.x. Para saber mais, confira Considerações sobre funções da v2.x.
2 Suporte por meio de transcompilação para JavaScript.

Consulte o artigo do guia do desenvolvedor específico a um idioma para obter mais informações sobre as versões de idiomas compatíveis.
Para obter informações sobre alterações planejadas para o suporte de linguagem, consulte o roteiro do Azure.

Suporte à versão principal da linguagem

O Azure Functions fornece garantia de suporte às versões principais das linguagens de programação com suporte. Na maioria das linguagens, há versões secundárias ou de patch liberadas para atualizar uma versão principal com suporte. Exemplos de versões secundárias ou de patch incluem Python 3.9.1 e Node 14.17. Quando novas versões secundárias de linguagens com suporte são disponibilizadas, as versões secundárias usadas por seus aplicativos de funções são atualizadas automaticamente para essas versões secundárias ou de patch mais recentes.

Observação

Como o Azure Functions pode remover o suporte a versões secundárias mais antigas a qualquer momento depois que uma nova versão secundária estiver disponível, você não deverá fixar seus aplicativos de funções em uma versão secundária ou de patch específica de uma linguagem de programação.

Manipuladores personalizados

Os manipuladores personalizados são servidores Web leves que recebem eventos do host do Azure Functions. Qualquer linguagem que ofereça suporte a primitivos HTTP pode implementar um manipulador personalizado. Isso significa que manipuladores personalizados podem ser usados para criar funções em linguagens que não têm suporte oficial. Para saber mais, consulte Manipuladores personalizados do Azure Functions.

Extensibilidade de linguagem

A partir da versão 2.x, o runtime foi projetado para oferecer extensibilidade de linguagem. As linguagens JavaScript e Java no runtime 2.x são criadas com essa extensibilidade.

Próximas etapas

Para saber mais sobre como desenvolver funções nas linguagens com suporte, confira os seguintes recursos: