Visão geral das versões de tempo de execução do Azure Functions

Atualmente, o Azure Functions dá suporte a duas versões do host de 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 Description
4.x GA 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 devem utilizar 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. É altamente recomendável que migre as seus aplicações para a versão 4.x, que oferece suporte ao .NET Framework 4.8, .NET 6, .NET 7 e .NET 8.

Importante

A partir de 13 de dezembro de 2022, as aplicações de funções executadas nas versões 2.x e 3.x do runtime das Funções do Azure chegaram ao 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 suportado, mas espera-se que atinja o status de GA 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.

A tabela a seguir mostra as versões do .NET suportadas pelo Azure Functions. Selecione sua linguagem de desenvolvimento preferida na parte superior do artigo.

A versão suportada do .NET depende da versão de tempo de execução do Functions e do modelo de execução escolhido:

Seu código de função é executado em um processo de trabalho .NET separado. Use com versões suportadas do .NET e .NET Framework. Para saber mais, consulte Desenvolver funções de processo de trabalho isoladas do .NET.

Versão suportada Nível de suporte Data EOL da comunidade esperada
.NET 8 GA 10 de novembro de 2026
.NET 7 GA Maio 14, 2024
.NET 6 GA 12 de novembro de 2024
.NET Framework 4.8 GA Ver política

Para obter mais informações, consulte Guia para executar o C# Azure Functions em um processo de trabalho isolado.

A tabela a seguir mostra as versões de linguagem suportadas para funções Java. Selecione sua linguagem de desenvolvimento preferida na parte superior do artigo.

Versão suportada Nível de suporte Data EOL da comunidade esperada
Java 21 (somente Linux) Pré-visualizar Setembro de 2028
Java 17 GA Setembro de 2027
Java 11 GA Setembro de 2027
Java 8 GA 30 de novembro de 2026

Para obter mais informações, consulte Guia do desenvolvedor Java do Azure Functions.

A tabela a seguir mostra as versões de idioma suportadas para Node.js funções. Selecione sua linguagem de desenvolvimento preferida na parte superior do artigo.

Versão suportada Nível de suporte Data EOL da comunidade esperada
Node.js 20 GA 30 de abril de 2026
Node.js 18 GA 30 de abril de 2025
Node.js 16 GA 11 de setembro de 2023*
Node.js 14 GA 30 de abril de 2023*

*Suporte em Funções prorrogado até 30 de junho de 2024.

TypeScript é suportado através de transpilação para JavaScript. Para obter mais informações, consulte o Guia do desenvolvedor do Azure Functions Node.js.

A tabela a seguir mostra a versão de idioma com suporte para funções do PowerShell. Selecione sua linguagem de desenvolvimento preferida na parte superior do artigo.

Versão suportada Nível de suporte Data EOL da comunidade esperada
PowerShell 7.2 GA 8 de novembro de 2024

Para obter mais informações, consulte Guia do desenvolvedor do PowerShell do Azure Functions.

A tabela a seguir mostra as versões de linguagem suportadas para funções Python. Selecione sua linguagem de desenvolvimento preferida na parte superior do artigo.

Versão suportada Nível de suporte Data EOL da comunidade esperada
Python 3.11 GA Outubro de 2027
Python 3,10 GA Outubro de 2026
Python 3,9 GA Outubro de 2025
Python 3.8 GA Outubro de 2024

Para obter mais informações, consulte Guia do desenvolvedor Python do Azure Functions.

Para obter informações sobre as alterações planeadas ao suporte de linguagens, veja o mapa do Azure.

Para obter informações sobre as versões de idioma de versões suportadas anteriormente do tempo de execução do Functions, consulte Versões de tempo de execução desativadas.

Executar em uma versão específica

A versão do tempo de execução do Functions usada por aplicativos publicados no Azure é ditada pela configuração do FUNCTIONS_EXTENSION_VERSION aplicativo. Em alguns casos e para determinados idiomas, outras configurações podem ser aplicadas.

Por padrão, os aplicativos de função criados no portal do Azure, pela CLI do Azure ou pelas ferramentas do Visual Studio são definidos como 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 de quebra entre as versões principais, incluindo alterações de quebra específicas do idioma. 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:

Value Destino do 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 pode ter ao ser executado na versão principal mais recente, você precisa fixar temporariamente seu aplicativo em uma versão secundária específica. A fixação dá-lhe tempo para que a sua aplicação seja executada corretamente na versão principal mais recente. A maneira como você fixa em uma versão secundária difere entre Windows e Linux. Para saber mais, consulte Como direcionar versões de tempo de execução do Azure Functions.

As versões secundárias mais antigas são periodicamente removidas do Functions. Para obter as últimas notícias sobre as versões do Azure Functions, incluindo a remoção de versões secundárias mais antigas específicas, monitore os anúncios do Serviço de Aplicativo do Azure.

Versões de extensão mínima

Tecnicamente, não há uma correlação entre as versões de extensão 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 no arquivo de configuração vinculado.

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

Essas versões do tempo de execução 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 suporte GA
2.x Sem suporte GA

Assim que possível, você deve migrar seus aplicativos para a versão 4.x para obter suporte total. Para obter um conjunto completo de instruções de migração específicas do idioma, consulte Migrar aplicativos para o 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.

O fim do suporte para as versões 2.x e 3.x deve-se ao fim do suporte para o .NET Core 3.1, que eles tinham como uma dependência principal. Este requisito afeta todos os idiomas suportados pelo 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 tempo de execução do Visual Studio

No Visual Studio, você seleciona a versão de tempo de execução quando cria um projeto. As ferramentas do Azure Functions para Visual Studio dão suporte às duas principais versões de tempo de execução. A versão correta é usada ao depurar e publicar com base nas configurações do projeto. As configurações de .csproj versão são definidas no arquivo nas seguintes propriedades:

<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>

Você pode escolher net8.0, net7.0, net6.0, ou net48 como a estrutura de destino se estiver usando o modelo de trabalho isolado. Se você estiver usando o modelo em processo, você só pode escolher net6.0, e você deve incluir a Microsoft.NET.Sdk.Functions extensão definida como pelo menos 4.0.0.

Ferramentas principais do Visual Studio Code e do Azure Functions

As Ferramentas Principais do Azure Functions são usadas para desenvolvimento de linha de comando e também pela extensão do Azure Functions para Visual Studio Code. Para obter mais informações, consulte Instalar as ferramentas principais do Azure Functions.

Para o desenvolvimento do Visual Studio Code, você também pode precisar atualizar a configuração do usuário para que corresponda azureFunctions.projectRuntime à 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.

Enlaces

A partir da versão 2.x, o tempo de execução usa um novo modelo de extensibilidade de vinculação que oferece estas vantagens:

  • Suporte para extensões de vinculação de terceiros.

  • 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 obter mais informações, consulte Registrar extensões de vinculação.

A tabela a seguir mostra quais associações são suportadas em cada versão de tempo de execução.

Esta tabela mostra as associações com suporte nas versões principais do tempo de execução do Azure Functions:

Type 1,x1 2.x e superior2 Acionador Entrada Saída
Armazenamento de blobs
BD do Cosmos para o Azure
Azure Data Explorer
SQL do Azure
Dapr4
Event Grid
Hubs de Eventos
HTTP & webhooks
Hub IoT
Kafka3
Aplicações Móveis
Hubs de Notificação
Armazenamento de filas
Redis
CoelhoMQ3
SendGrid
Service Bus
SignalR
Armazenamento de tabelas
Temporizador
Twilio

1 O suporte terminará para a versão 1.x do tempo de execução do Azure Functions em 14 de setembro de 2026. É altamente recomendável que você migre seus aplicativos para a versão 4.x para obter suporte completo.

2 A partir do tempo de execução da versão 2.x, todas as associações, exceto HTTP e Timer, devem ser registradas. Consulte Registrar extensões de vinculação.

3 Os gatilhos não são suportados no plano de consumo. Requer gatilhos controlados por tempo de execução.

4 Suportado apenas no Kubernetes, IoT Edge e outros modos auto-hospedados.

Duração do tempo limite do aplicativo de função

A duração do functionTimeout tempo limite para funções em um aplicativo de função é definida pela propriedade no arquivo de projeto host.json . Esta propriedade aplica-se especificamente a execuções de funções. Depois que o gatilho inicia a execução da função, a função precisa retornar/responder dentro da duração do tempo limite. Para obter mais informações, consulte Melhorar o desempenho e a confiabilidade do Azure Functions.

A tabela a seguir mostra os valores padrão e máximo (em minutos) para planos específicos:

Planear Predefinido Máximo1
Plano de consumo 5 10
Plano Premium 302 Ilimitada3
Plano dedicado 302 Ilimitada3

1 Independentemente da configuração de tempo limite do aplicativo de função, 230 segundos é a quantidade máxima de tempo que uma função acionada por HTTP pode levar para responder a uma solicitação. Isso ocorre devido ao tempo limite ocioso padrão do Balanceador de Carga do Azure. Para tempos de processamento mais longos, considere usar o padrão assíncrono de Funções Duráveis ou adie o trabalho real e retorne uma resposta imediata.
2 O tempo limite padrão para a versão 1.x do tempo de execução do Functions é ilimitado.
3 Garantido até 60 minutos. Patches de SO e tempo de execução, patches de vulnerabilidade e dimensionamento em comportamentos ainda podem cancelar execuções de funções, portanto , certifique-se de escrever funções robustas.

Próximos passos

Para obter mais informações, consulte os seguintes recursos: