Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Azure Functions atualmente suporta duas versões do host em tempo de execução. A tabela a seguir detalha as versões runtime atualmente suportadas, o respetivo nível de suporte e quando elas devem ser usadas:
| Versão | Nível de suporte | Descrição |
|---|---|---|
| 4.x | disponibilidade geral | Versão de tempo de execução recomendada para funções em todos os idiomas.Consulte Versões linguísticas suportadas. |
| 1,x | GA (o suporte termina a 14 de setembro de 2026) | Suportado apenas para aplicações C# que têm de usar o .NET Framework. Esta versão está em modo de manutenção, com melhorias fornecidas apenas em versões posteriores. O suporte para a versão 1.x terminará em 14 de setembro de 2026. Recomendamos vivamente que migre as suas aplicações para a versão 4.x, que suporta .NET Framework 4.8, .NET 8, .NET 9 e .NET 10 Preview. |
Importante
A partir de 13 de dezembro de 2022, as aplicações de funções a correr nas versões 2.x e 3.x do runtime do Azure Functions atingiram o fim do suporte alargado. Para obter mais informações, consulte Versões desativadas.
Este artigo detalha algumas das diferenças entre as versões suportadas, como você pode criar cada versão e como alterar a versão na qual suas funções são executadas.
Níveis de apoio
Existem dois níveis de apoio:
- Geralmente disponível (GA) - Totalmente suportado e aprovado para uso em produção.
- Pré-visualização - Ainda não é suportada, mas espera-se que alcance o estado de Disponibilidade Geral no futuro.
Idiomas
Todas as funções em um aplicativo de função devem compartilhar o mesmo idioma. Você escolhe o idioma das funções em seu aplicativo de função ao criar o aplicativo. O idioma do seu aplicativo de função é mantido na configuração FUNCTIONS_WORKER_RUNTIME e não pode ser alterado quando há funções existentes.
Certifique-se de selecionar sua linguagem de desenvolvimento preferida na parte superior do artigo.
A tabela seguinte mostra as versões .NET suportadas pelo Azure Functions.
A versão suportada do .NET depende tanto da versão de runtime das Funções como do modelo de execução selecionado.
O código da tua aplicação de funções corre num processo de trabalho .NET separado. Utilize com as versões suportadas de .NET e .NET Framework. Para mais informações, consulte Guia para executar C# Azure Functions no modelo de trabalhador isolado.
| Versão suportada | Nível de suporte | Data prevista para o fim do suporte |
|---|---|---|
| .NET 10 | disponibilidade geral | 14 de novembro de 2028. |
| .NET 9 | disponibilidade geral | novembro 10, 20261 |
| .NET 8 | disponibilidade geral | 10 de novembro de 2026 |
| .NET Framework 4.8.1 | disponibilidade geral | Ver Política de Suporte do .NET Framework. |
1 .NET 9 tinha anteriormente uma data prevista de fim de suporte para 12 de maio de 2026. Durante a janela de serviço do .NET 9, a equipa do .NET estendeu o suporte para versões STS até 24 meses, começando pelo .NET 9. Para obter mais informações, consulte a postagem do blog.
Observação
.NET 9 é a última versão .NET suportada para aplicações do plano Linux Consumption. Versões mais recentes de .NET não são adicionadas ao Linux Consumption. Para obter mais informações, consulte Migrar aplicativos do plano de consumo para o plano Flex Consumption.
O .NET 6 era anteriormente suportado pelo modelo de trabalhador isolado, mas chegou ao fim do apoio oficial em 12 de novembro de 2024.
O .NET 7 era anteriormente suportado pelo modelo de trabalhador isolado, mas chegou ao fim do apoio oficial em 14 de maio de 2024.
Para mais informações, consulte Guia para executar C# Azure Functions no modelo de trabalhador isolado.
A tabela seguinte mostra as versões da linguagem suportadas para aplicações de funções Java:
| Versão suportada | Nível de suporte | Supported until: Suportado até: |
|---|---|---|
| Java 25 | Preview | Pendente* |
| Java 21 | disponibilidade geral | Consulte Roteiro de lançamento e manutenção. |
| Java 17 | disponibilidade geral | Consulte Roteiro de lançamento e manutenção. |
| Java 11 | disponibilidade geral | Consulte Roteiro de lançamento e manutenção. |
| Java 8 | disponibilidade geral | Consulte a página de suporte da Temurin. |
*A data de fim de suporte para Java 25 é determinada quando é declarada a disponibilidade geral (GA).
Observação
Java 21 é a última versão em Java suportada para aplicações do plano Linux Consumption. Versões mais recentes do Java não são adicionadas ao Plano de Consumo do Linux. Para obter mais informações, consulte Migrar aplicativos do plano de consumo para o plano Flex Consumption.
Para mais informações sobre o desenvolvimento e execução de aplicações Java funções, consulte Azure Functions Java developer guide.
A tabela a seguir mostra as versões de idioma suportadas para aplicativos de função Node.js:
| Versão suportada | Nível de suporte | Data prevista para o fim do suporte |
|---|---|---|
| 24Node.js | Preview | 30 de abril de 2028 |
| 22Node.js | disponibilidade geral | 30 de abril de 2027 |
| 20Node.js | disponibilidade geral | 30 de abril de 2026 |
TypeScript é suportado através de transpilação para JavaScript. Para mais informações, consulte Azure Functions Node.js guia para desenvolvedores.
Observação
O Node.js 22 é a última versão Node.js suportada para aplicações do plano Linux Consumption. Versões Node.js mais recentes não são adicionadas ao Linux Consumption. Para obter mais informações, consulte Migrar aplicativos do plano de consumo para o plano Flex Consumption.
A tabela a seguir mostra a versão de idioma com suporte para aplicativos de função do PowerShell:
| Versão suportada | Nível de suporte | Data prevista para o fim do suporte |
|---|---|---|
| PowerShell 7.4 | disponibilidade geral | 10 de novembro de 2026 |
Observação
O PowerShell 7.4 é a última versão do PowerShell suportada para aplicações do plano Linux Consumption. Versões mais recentes do PowerShell não são adicionadas ao Linux Consumption. Para obter mais informações, consulte Migrar aplicativos do plano de consumo para o plano Flex Consumption.
Para mais informações, consulte Azure Functions PowerShell developer guide.
A tabela seguinte mostra as versões da linguagem suportadas para aplicações de funções Python:
| Versão suportada | Nível de suporte | Data prevista para o fim do suporte |
|---|---|---|
| Python 3.142 | Preview | Pendente 1 |
| Python 3.13 | disponibilidade geral | Outubro de 2029 |
| Python 3.12 | disponibilidade geral | Outubro de 2028 |
| Python 3.11 | disponibilidade geral | Outubro de 2027 |
| Python 3.10 | disponibilidade geral | Outubro de 2026 |
- A data de fim do suporte para Python 3.14 é determinada quando a disponibilidade geral (GA) é declarada.
- O suporte para compilações remotas para Python 3.14 ainda não está disponível quando se executa num plano Flex Consumption.
Observação
Python 3.12 é a última versão de Python suportada para aplicações do plano de consumo do Linux. Versões mais recentes do Python não são adicionadas ao ambiente de execução Linux. Para obter mais informações, consulte Migrar aplicativos do plano de consumo para o plano Flex Consumption.
Para mais informações, consulte Azure Functions Python guia para desenvolvedores.
Para informações sobre alterações planeadas ao suporte de línguas, consulte as atualizações do roteiro Azure.
Para obter informações sobre as versões de idioma de versões anteriormente suportadas do runtime do Functions, consulte Versões obsoletas do runtime.
Executar em uma versão específica
A versão do runtime Functions usada pelas aplicações publicadas em Azure é ditada pela definição FUNCTIONS_EXTENSION_VERSION da aplicação. Em alguns casos e para determinados idiomas, outras configurações podem ser aplicadas.
Por defeito, as aplicações de funções criadas no portal do Azure, pela Azure CLI ou pelas ferramentas do Visual Studio estão definidas para a versão 4.x. Você pode modificar esta versão, se necessário. Você só pode fazer o downgrade da versão de tempo de execução para 1.x depois de criar seu aplicativo de função, mas antes de adicionar quaisquer funções. A atualização para uma versão principal posterior é permitida mesmo com aplicativos que tenham funções existentes.
Migrando aplicativos de função existentes
Quando seu aplicativo tiver funções existentes, você deve tomar precauções antes de passar para uma versão de tempo de execução principal posterior. Os artigos a seguir detalham as alterações disruptivas entre as versões principais, incluindo modificações significativas específicas à linguagem. Eles também fornecem instruções passo a passo para uma migração bem-sucedida do seu aplicativo de função existente.
Alterar a versão das aplicações no Azure
Os seguintes valores principais de versão de tempo de execução são usados:
| Valor | Alvo de tempo de execução |
|---|---|
~4 |
4.x |
~1 |
1,x |
Importante
Não altere arbitrariamente essa configuração do aplicativo, porque outras alterações de configuração do aplicativo e alterações no código da sua função podem ser necessárias. Para aplicativos de função existentes, siga as instruções de migração .
Fixação a uma versão secundária específica
Para resolver problemas que seu aplicativo de função poderia ter ao ser executado na versão principal mais recente, você deve fixar temporariamente seu aplicativo em uma versão secundária específica. A anexação dá-lhe tempo para a sua aplicação ser executada corretamente na versão principal mais recente. A forma como fixas uma versão menor difere entre Windows e Linux. Para saber mais, veja Como direcionar versões de runtime do Azure Functions.
As versões secundárias mais antigas são periodicamente removidas do Functions. Para as últimas notícias sobre os lançamentos do Azure Functions, incluindo a remoção de versões menores antigas específicas, acompanhe os anúncios do Azure App Service.
Versões de extensão mínima
Tecnicamente, não há uma correlação entre as versões das extensões de vinculação e a versão de tempo de execução do Functions. No entanto, a partir da versão 4.x, o tempo de execução do Functions impõe uma versão mínima para todas as extensões de gatilho e ligação.
Se você receber um aviso sobre um pacote que não atende a uma versão mínima necessária, atualize esse pacote NuGet para a versão mínima como faria normalmente. Os requisitos mínimos de versão para extensões usadas no Functions v4.x podem ser encontrados em o ficheiro de configuração ligado.
Para o script C#, atualize a referência do pacote de extensão no host.json da seguinte maneira:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Tecnicamente, não há uma correlação entre as versões do pacote de extensão e a versão de tempo de execução do Functions. No entanto, a partir da versão 4.x, o tempo de execução do Functions impõe uma versão mínima para pacotes de extensão.
Se você receber um aviso sobre sua versão do pacote de extensão não atender a uma versão mínima necessária, atualize sua referência de pacote de extensão existente no host.json da seguinte maneira:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Para saber mais sobre pacotes de extensão, consulte Pacotes de extensão.
Versões desativadas
Importante
O suporte terminará para a versão 1.x do runtime Azure Functions a 14 de setembro de 2026. É altamente recomendável que você migre seus aplicativos para a versão 4.x para obter suporte completo.
Essas versões do runtime do Functions chegaram ao fim do suporte estendido em 13 de dezembro de 2022.
| Versão | Nível de suporte atual | Nível de suporte anterior |
|---|---|---|
| 3.x | Sem apoio | disponibilidade geral |
| 2,x | Sem apoio | disponibilidade geral |
Assim que possível, você deve migrar seus aplicativos para a versão 4.x para obter suporte total. Para um conjunto completo de instruções de migração específicas da língua, veja Migrar aplicações para Azure Functions versão 4.x.
Os aplicativos que usam as versões 2.x e 3.x ainda podem ser criados e implantados a partir do seu pipeline de DevOps de CI/CD, e todos os aplicativos existentes continuam a ser executados sem alterações ininterruptas. No entanto, seus aplicativos não são qualificados para novos recursos, patches de segurança e otimizações de desempenho. Você só pode obter suporte de serviço relacionado depois de atualizar seus aplicativos para a versão 4.x.
As versões 2.x e 3.x já não são suportadas devido ao fim do suporte para o .NET Core 3.1, que era uma dependência do núcleo. Este requisito afeta todas as linguagens suportadas por Azure Functions.
Versões de aplicativos desenvolvidas localmente
Você pode fazer as seguintes atualizações para aplicativos funcionais para alterar localmente as versões de destino.
Versões de runtime do Visual Studio
No Visual Studio, selecionas a versão em tempo de execução quando crias um projeto. As ferramentas Azure Functions para Visual Studio suportam as duas principais versões de runtime. A versão correta é usada durante a depuração e publicação com base nas configurações do projeto. As configurações de versão são definidas no arquivo .csproj nas seguintes propriedades:
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
Se estiveres a usar o modelo de trabalhador isolado , podes escolher net9.0, net8.0ou net48 como estrutura-alvo. Também pode optar por utilizar suporte para pré-visualização para net10.0. Se estiver a usar o modelo in-process, pode escolher net8.0 ou net6.0, e deve incluir a extensão Microsoft.NET.Sdk.Functions definida para pelo menos 4.4.0. .NET 10 não é suportado pelo modelo em processo; se estiver no modelo em processo e quiser usar o .NET 10, migre a sua aplicação para o modelo de trabalhador isolado.
.NET 6 era anteriormente suportado no modelo de trabalhador isolado e no modelo em processo, mas chegou ao fim do suporte oficial em 12 de novembro de 2024. O .NET 7 era anteriormente suportado no modelo de trabalhador isolado, mas chegou ao fim do suporte oficial em 14 de maio de 2024.
Visual Studio Code e Azure Functions Core Tools
Azure Functions Core Tools é usado para desenvolvimento de linha de comandos e também pela extensão Azure Functions para Visual Studio Code. Para mais informações, consulte Install the Azure Functions Core Tools.
Para o desenvolvimento do Visual Studio Code, também pode ser necessário atualizar as definições de utilizador associadas a azureFunctions.projectRuntime, para que correspondam à versão das ferramentas instaladas. Essa configuração também atualiza os modelos e idiomas usados durante a criação do aplicativo de função.
Vínculos
A partir da versão 2.x, o runtime utiliza um novo modelo de extensibilidade de ligação binding extensibility model que oferece as seguintes vantagens:
Suporte para extensões de vinculação que não sejam da Microsoft.
Desacoplamento de tempo de execução e vinculações. Essa alteração permite que as extensões de vinculação sejam versionadas e liberadas de forma independente. Você pode, por exemplo, optar por atualizar para uma versão de uma extensão que depende de uma versão mais recente de um SDK subjacente.
Um ambiente de execução mais leve, onde apenas as ligações em uso são conhecidas e carregadas pelo tempo de execução.
Com exceção dos gatilhos HTTP e de temporizador, todas as associações devem ser explicitamente adicionadas ao projeto do aplicativo de função ou registradas no portal. Para mais informações, consulte padrões de expressão de ligação do Azure Functions.
Esta tabela mostra as ligações suportadas nas principais versões do runtime do Azure Functions:
| Tipo | 4.x1 | 1.x2 | Acionador | Entrada | Resultado |
|---|---|---|---|---|---|
| Blob Storage | ✔ | ✔ | ✔ | ✔ | ✔ |
| Azure Cosmos DB | ✔ | ✔ | ✔ | ✔ | ✔ |
| Azure Data Explorer | ✔ | ✔ | ✔ | ||
| Azure SQL | ✔ | ✔ | ✔ | ✔ | |
| Dapr4 | ✔ | ✔ | ✔ | ✔ | |
| Grelha de Eventos | ✔ | ✔ | ✔ | ✔ | |
| Hubs de Eventos | ✔ | ✔ | ✔ | ✔ | |
| HTTP e webhooks | ✔ | ✔ | ✔ | ✔ | |
| IoT Hub | ✔ | ✔ | ✔ | ||
| Kafka3 | ✔ | ✔ | ✔ | ||
| Aplicações Móveis | ✔ | ✔ | ✔ | ||
| Protocolo de contexto do modelo | ✔ | ✔ | |||
| Hubs de Notificação | ✔ | ✔ | |||
| Armazenamento em Fila | ✔ | ✔ | ✔ | ✔ | |
| Redis | ✔ | ✔ | ✔ | ✔ | |
| RabbitMQ3 | ✔ | ✔ | ✔ | ||
| SendGrid | ✔ | ✔ | ✔ | ||
| Service Bus | ✔ | ✔ | ✔ | ✔ | |
| Azure SignalR Service | ✔ | ✔ | ✔ | ✔ | |
| Armazenamento de Tabelas | ✔ | ✔ | ✔ | ✔ | |
| Temporizador | ✔ | ✔ | ✔ | ||
| Twilio | ✔ | ✔ | ✔ |
- Registe todas as ligações exceto HTTP e temporizador. Veja Registar extensões de ligação do Azure Functions. Este passo não é necessário ao usar a versão 1.x do runtime de Functions.
- O suporte para a versão 1.x do runtime Azure Functions termina a 14 de setembro de 2026. Migra as tuas aplicações para a versão 4.x para suporte total.
- Os gatilhos não são suportados no plano de Consumo. Este tipo de vinculação requer triggers acionados por tempo de execução.
- Este tipo de binding é suportado apenas no Kubernetes, Azure IoT Edge e outros modos auto-hospedados.
Duração do timeout da aplicação de função
A functionTimeout propriedade no ficheiro de projeto host.json define a duração do timeout para funções numa aplicação de funções. Esta propriedade aplica-se especificamente a execuções de funções. Depois de o disparador iniciar a execução da função, a função precisa de regressar ou responder dentro do tempo de timeout. Quando uma execução ultrapassa esta duração, ocorre um erro de timeout e o processo worker da linguagem reinicia. Para uma aplicação C# que é executada em processo, o próprio processo anfitrião reinicia. Para evitar timeouts e subsequentes reinicios de processos, é importante escrever funções robustas. Para mais informações, consulte Melhorar o desempenho e a fiabilidade Azure Functions.
A tabela a seguir mostra os valores padrão e máximo (em minutos) para planos específicos:
| Plano | Predefinido | Máximo1 |
|---|---|---|
| Plano de consumo Flex | 30 | Sem limites2 |
| Plano Premium | 304 | Sem limites2 |
| Plano dedicado | 304 | Sem limites3 |
| Aplicativos de contêiner | 30 | Sem limites5 |
| Plano de consumo | 5 | 10 |
- Independentemente da definição de tempo limite da aplicação de funções, 230 segundos é o tempo máximo que uma função ativada por HTTP pode demorar a responder a um pedido. Este limite existe devido ao timeout default idle do Azure Load Balancer. Para tempos de processamento mais longos, considere usar o padrão assíncrono Durable Functions ou demeter o trabalho real e devolver uma resposta imediata.
- Não há uma duração máxima de tempo limite de execução imposta. No entanto, o período de carência dado à execução de uma função é de 60 minutos durante a redução de escala para os planos Flex Consumption e Premium, e um período de carência de 10 minutos é dado durante as atualizações da plataforma.
- Requer que o plano do Serviço de Aplicativo esteja definido como Sempre Ativado. Um período de carência de 10 minutos é dado durante as atualizações da plataforma.
- O timeout padrão para a versão 1.x do runtime do host Functions é ilimitado.
- Quando o número mínimo de réplicas é definido como zero, o tempo limite padrão depende dos gatilhos específicos usados no aplicativo.
Estes valores assumem que o processo host do Azure Functions inicia e corre corretamente. Há um tempo máximo de 60 segundos para que o processo específico do trabalhador da língua também comece. O tempo limite de inicialização do processo de trabalho não é configurável no momento.
Conteúdo relacionado
Para obter mais informações, consulte os seguintes recursos: