Idiomas suportados no Funções do Azure

Este artigo explica os níveis de suporte oferecidos para idiomas que pode utilizar com Funções do Azure. Também descreve estratégias para criar funções com linguagens não suportadas nativamente.

Níveis de suporte

Existem dois níveis de suporte:

  • Disponível geralmente (GA) – totalmente suportado e aprovado para utilização em produção.
  • Pré-visualização – ainda não é suportada, mas espera-se que atinja o estado ga no futuro.

Idiomas por versão do runtime

Estão disponíveis várias versões do Funções do Azure runtime. A tabela seguinte mostra que idiomas são suportados em cada versão do runtime.

Linguagem 1.x 2.x1 3.x1 4.x
C# GA (.NET Framework 4.8) GA (.NET Core 2.1) GA (.NET Core 3.1)
GA (.NET 6.0)
GA (.NET 7.0)
GA (.NET Framework 4.8)
JavaScript DISPONIBILIDADE (Node.js 6) GA (Node.js 10 & 8) GA (Node.js 14, 12, & 10) GA (Node.js 18, 16, & 14)
F# GA (.NET Framework 4.8) GA (.NET Core 2.11) GA (.NET Core 3.1) GA (.NET 6.0)
GA (.NET 7.0)
Java N/D GA (Java 8) GA (Java 11 & 8) GA (Java 11 & 8)
GA (Java 17)
PowerShell N/D N/D N/D GA (PowerShell 7.2)
Python N/D GA (Python 3.7) GA (Python 3.9, 3.8, 3.7) GA (Python 3.9, 3.8, 3.7)
Pré-visualização (3.10)
TypeScript2 N/D GA GA GA

1 Chegou ao fim de vida (EOL) em 13 de dezembro de 2022. Recomendamos vivamente que migre as suas aplicações para a versão 4.x para obter suporte total.
2 Suportado através da transplicação para JavaScript.

Veja o artigo do guia do programador específico do idioma para obter mais detalhes sobre as versões de idioma suportadas.
Para obter informações sobre as alterações planeadas ao suporte de idiomas, veja Mapa de objetivos do Azure.

Detalhes de suporte de idioma

A tabela seguinte mostra que idiomas suportados pelas Funções podem ser executados no Linux ou Windows. Também indica se o seu idioma suporta a edição no portal do Azure. O idioma baseia-se na opção de pilha do Runtime que escolher ao criar a sua aplicação de funções no portal do Azure. Isto é o mesmo que a opção --worker-runtime ao utilizar o func init comando no Funções do Azure Core Tools.

Linguagem Pilha de runtime Linux Windows Edição no portal
Biblioteca de classes C#1 .NET
Script C# .NET
JavaScript Node.js
Python Python
Java Java
PowerShell PowerShell Core
TypeScript Node.js
Ir/Enferrujar/outro Processadores Personalizados

1 No portal, não pode atualmente criar aplicações de funções que são executadas no .NET 7.0. Para obter mais informações, veja Guia para executar Funções do Azure C# num processo de trabalho isolado.

Para obter mais informações sobre o sistema operativo e o suporte de idiomas, veja Suporte do sistema operativo/runtime.

Quando a edição no portal não estiver disponível, tem de desenvolver as suas funções localmente.

Suporte de versões principais de idioma

Funções do Azure fornece uma garantia de suporte para as versões principais das linguagens de programação suportadas. Para a maioria dos idiomas, existem versões secundárias ou de patch lançadas para atualizar uma versão principal suportada. Exemplos de versões secundárias ou de patch incluem, por exemplo, Python 3.9.1 e Node 14.17. Após a disponibilização de novas versões secundárias de idiomas suportados, as versões secundárias utilizadas pelas suas aplicações de funções são automaticamente atualizadas para estas versões secundárias ou de patch mais recentes.

Nota

Uma vez que Funções do Azure pode remover o suporte de versões secundárias mais antigas em qualquer altura após a disponibilização de uma nova versão secundária, não deve afixar as suas aplicações de funções a uma versão secundária/patch específica de uma linguagem de programação.

Processadores personalizados

Os processadores personalizados são servidores Web leves que recebem eventos do anfitrião Funções do Azure. Qualquer linguagem que suporte primitivos HTTP pode implementar um processador personalizado. Isto significa que os processadores personalizados podem ser utilizados para criar funções em idiomas que não são oficialmente suportados. Para saber mais, veja Funções do Azure processadores personalizados.

Extensibilidade de idioma

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

Passos seguintes

Para saber mais sobre como desenvolver funções nos idiomas suportados, veja os seguintes recursos: