Visão geral de versões do Azure Functions runtime

O Azure Functions atualmente oferece suporte duas versões do host de runtime. A tabela a seguir fornece detalhes sobre as versões de runtime atualmente disponíveis, seu nível de suporte e quando elas devem ser usadas:

Versão Nível de suporte Descrição
4.x GA Versão de runtime recomendada para funções em todas as linguagens.Fazer check-out das versões de idioma com suporte.
1.x GA (o suporte termina em 14 de setembro de 2026) Suportado somente para aplicativos C# que devem usar .NET Framework. Esta versão está no modo de manutenção, com aprimoramentos fornecidos somente em versões posteriores. O suporte para a versão 1.x terminará em 14 de setembro de 2026. Recomendamos que você migre seus aplicativos para a versão 4.x, que dá suporte ao .NET Framework 4.8, .NET 6, .NET 8 e .NET 9.

Importante

Desde 13 de dezembro de 2022, os aplicativos de funções em execução nas versões 2.x e 3.x do runtime do Azure Functions atingiram o fim do suporte estendido. Para saber mais, confira Versões desativadas.

Este artigo detalha algumas das diferenças entre as versões com suporte, como criar cada uma delas e como alterar a versão na qual suas funções são executadas.

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.

Idiomas

Todas as funções em um aplicativo de funções devem compartilhar a mesma linguagem de programação. Você escolheu o idioma das funções em seu aplicativo de funções ao criar o aplicativo. O idioma do seu aplicativo de funções é 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 compatíveis com o Azure Functions. Selecione sua linguagem de desenvolvimento preferencial na parte superior do artigo.

A versão compatível do .NET depende da versão do runtime do Functions e do modelo de execução escolhido:

O código de função é executado em um processo de trabalho do .NET separado. Use com versões com suporte do .NET e do .NET Framework. Para saber mais, confira Desenvolver funções de processo de trabalho isolado no .NET.

Versão com suporte Nível de suporte Data esperada do EOL da comunidade
.NET 9 Visualizar Consultar política
.NET 8 GA 10 de novembro de 2026
.NET 6 GA 12 de novembro de 2024
.NET Framework 4.8.1 GA Consultar política

Anteriormente, o .NET 7 tinha suporte no modelo de trabalho isolado, mas chegou ao fim do suporte oficial em 14 de maio de 2024.

Para saber mais, confira o Guia para executar Azure Functions em C# em um processo de trabalho isolado.

A tabela a seguir mostra as versões de linguagem de programação compatíveis com funções Java. Selecione sua linguagem de desenvolvimento preferencial na parte superior do artigo.

Versão com suporte Nível de suporte Data esperada do EOL da comunidade
Java 21 (somente Linux) 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, confira o Guia do desenvolvedor de Java do Azure Functions.

A tabela a seguir mostra as versões de linguagem de programação compatíveis com funções Node.js. Selecione sua linguagem de desenvolvimento preferencial na parte superior do artigo.

Versão com suporte Nível de suporte Data esperada do EOL da comunidade
Node.js 22 Visualizar 30 de abril de 2027
Node.js 20 GA 30 de abril de 2026
Node.js 18 GA 30 de abril de 2025

TypeScript tem suporte por meio de transposição para JavaScript. Para obter mais informações, confira o Guia do desenvolvedor Node.js do Azure Functions.

A tabela a seguir mostra a versão de linguagem de programação compatíveis com funções PowerShell. Selecione sua linguagem de desenvolvimento preferencial na parte superior do artigo.

Versão com suporte Nível de suporte Data esperada do EOL da comunidade
PowerShell 7.4 GA 10 de novembro de 2026
PowerShell 7.2 GA 8 de novembro de 2024

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

A tabela a seguir mostra as versões de linguagem de programação compatíveis com funções Python. Selecione sua linguagem de desenvolvimento preferencial na parte superior do artigo.

Versão com suporte Nível de suporte Data esperada do EOL da comunidade
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 saber mais, confira o Guia do desenvolvedor Python do Azure Functions.

Para obter informações sobre alterações planejadas para o suporte de linguagem, consulte o roteiro do Azure.

Para obter informações sobre as versões de linguagens com suporte anterior do runtime do Functions, consulte Versões de runtime desativadas.

Executar em uma versão específica

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

Por padrão, os aplicativos de funções criados no portal do Azure, pela CLI do Azure ou por ferramentas do Visual Studio são definidos para a versão 4.x. É possível modificar essa versão se necessário. Só é possível fazer downgrade da versão de runtime para a 1.x depois de criar seu aplicativo de funções, mas antes de adicionar quaisquer funções. A atualização para uma versão principal posterior é permitida mesmo com aplicativos que têm funções existentes.

Migrar aplicativos de funções existentes

Quando seu aplicativo tiver funções existentes, você deverá tomar precauções antes de mudar para uma versão principal de runtime posterior. Os artigos a seguir detalham as alterações interruptivas entre as versões principais, incluindo alterações interruptivas específicas da linguagem. Eles também fornecem instruções passo a passo para uma migração bem-sucedida do seu aplicativo de funções existente.

Como alterar a versão de aplicativos no Azure

Os seguintes valores de versão de runtime principal são usados:

Valor Destino de runtime
~4 4.x
~1 1.x

Importante

Não altere essa configuração de aplicativo arbitrariamente, pois podem ser necessárias outras alterações de configuração de aplicativo e alterações em seu código de função. Para aplicativos de funções existentes, siga as instruções de migração.

Fixação de uma versão secundária específica

Para resolver os problemas que seu aplicativo de funções possa ter ao executar na versão principal mais recente, é necessário fixá-lo temporariamente em uma versão secundária específica. Fixar proporciona tempo para que seu aplicativo seja executado corretamente na versão principal mais recente. A fixação de uma versão secundária é diferente entre o Windows e o Linux. Para obter mais informações, consulte Como direcionar para versões do Azure Functions runtime.

Versões secundárias mais antigas são removidas periodicamente do Functions. Para receber as notícias mais recentes sobre as versões de Azure Functions, incluindo a remoção de versões secundárias específicas mais antigas, acompanhe os comunicados de Serviço de Aplicativo do Azure.

Versões de extensão mínimas

Tecnicamente, não há uma correlação entre as versões de extensão de associação e a versão de runtime do Functions. No entanto, a partir da versão 4.x, o runtime do Functions impõe uma versão mínima para todas as extensões de gatilho e associação.

Se receber um aviso sobre um pacote não atender a uma versão mínima necessária, você deverá atualizar 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 script C#, atualize a referência do pacote de extensão no host.json conforme a seguir:

{
    "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 de extensão de pacote e a versão de runtime do Functions. No entanto, a partir da versão 4.x, o runtime do Functions impõe uma versão mínima para todos os 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, migre seus aplicativos para a versão 4.x para obter suporte completo. Para obter um instruções completas de migração específicas da linguagem, consulte Migrar aplicativos para o Azure Functions versão 4.x.

Os aplicativos usando versões 2.x e 3.x ainda podem ser criados e implantados a partir do pipeline de DevOps de CI/CD, e todos os aplicativos existentes continuam sendo executados sem alterações interruptivas. No entanto, seus aplicativos não estão qualificados para novos recursos, patches de segurança e otimizações de desempenho. Você só pode obter suporte ao serviço relacionado depois de atualizar os 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 elas tinham como uma dependência principal. Esse requisito afeta todos os idiomas compatíveis com Azure Functions.

Versões do aplicativo desenvolvidas localmente

É possível fazer as atualizações a seguir em aplicativos de funções para alterar localmente as versões direcionadas.

Versões de runtime do Visual Studio

No Visual Studio, você seleciona a versão de runtime quando cria um projeto. As ferramentas do Azure Functions para o Visual Studio dão suporte para as duas versões principais do runtime. A versão correta é usada ao depurar e publicar 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 você estiver usando o modelo de trabalho isolado você pode escolher net8.0, net6.0 ou net48 como a estrutura de destino. Você também pode optar por usar o suporte de visualização para net9.0. Se estiver usando o modelo em processo, você poderá escolher net8.0 ou net6.0 e precisará incluir a extensão Microsoft.NET.Sdk.Functions definida como pelo menos 4.4.0.

Anteriormente, o .NET 7 tinha suporte no modelo de trabalho isolado, mas chegou ao fim do suporte oficial em 14 de maio de 2024.

Visual Studio Code e Azure Functions Core Tools

O Azure Functions Core Tools é usado para o desenvolvimento na linha de comando e também pela extensão do Azure Functions para o Visual Studio Code. Para obter mais informações, confira Instalar o Azure Functions Core Tools.

Para desenvolvimento no Visual Studio Code, você também precisará atualizar a configuração do usuário para o azureFunctions.projectRuntime corresponder à versão das ferramentas instaladas. Essa configuração também atualiza os modelos e linguagens utilizados durante a criação do aplicativo de funções.

Associações

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

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

  • Desacoplamento de runtime e associações. Essa alteração permite que extensões de associação sejam lançadas independentemente e com controle de versão. Você pode, por exemplo, optar por atualizar para uma versão de uma extensão que se baseia em uma versão mais recente de um SDK subjacente.

  • Um ambiente de execução mais leve, onde apenas as associações em uso são conhecidas e carregadas pelo runtime.

Com exceção dos gatilhos HTTP e de temporizador, todas as associações devem ser explicitamente adicionadas ao projeto do aplicativo de funções ou registradas no portal. Para obter mais informações, confira Registrar extensões de associação.

A tabela a seguir mostra quais associações são compatíveis em cada versão de runtime.

Esta tabela mostra as associações que são compatíveis com as versões principais do Azure Functions Runtime:

Tipo 1.x1 2.x e posterior2 Gatilho Entrada Saída
Armazenamento de Blobs
Azure Cosmos DB
Azure Data Explorer
SQL do Azure
Dapr4
Grade de Eventos
Hubs de Evento
HTTP e webhooks
Hub IoT
Kafka3
Aplicativos Móveis
Hubs de Notificação
Armazenamento de filas
Redis
RabbitMQ3
SendGrid
Barramento de Serviço
SignalR
Armazenamento de tabelas
Timer
Twilio

Observações:

  1. O suporte da versão 1.x do runtime do Azure Functions terminará em 14 de setembro de 2026. Recomendamos que você migre seus aplicativos para a versão 4.x para receber suporte completo.
  2. A partir do runtime da versão 2.x, todas as associações, exceto HTTP e Temporizador, devem ser registradas. Confira Registrar as extensões de associação.
  3. Não há suporte para gatilhos no plano de consumo. Requer gatilhos controlados por runtime.
  4. Tem suporte apenas no Kubernetes, no IoT Edge e em outros modos auto-hospedados.

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

A duração do tempo limite para funções em um aplicativo de funções é definida pela propriedade functionTimeout no arquivo de projeto host.json. Essa propriedade se aplica especificamente a execuções de função. 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 evitar tempos limite, é importante gravar funções robustas. Para saber mais, confira Melhorar o desempenho e a confiabilidade do Azure Functions.

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

Plano Padrão Máximo1
Plano de Consumo 5 10
Plano de Consumo Flexível 30 Não associado2
Plano Premium 304 Não associado2
Plano dedicado 304 Não associado3
Aplicativos de Contêiner 30 Desassociado5
  1. Independentemente da configuração de tempo limite do aplicativo de funções, 230 segundos é a quantidade de tempo máxima que uma função disparada por HTTP pode levar para responder a uma solicitação. Isso ocorre devido ao tempo limite de ociosidade padrão do Azure Load Balancer. Para tempos de processamento mais longos, considere usar o padrão assíncrono das Durable Functions ou adiar o trabalho real e retornar uma resposta imediata.
  2. Não há duração máxima de tempo limite de execução imposta. No entanto, o período de cortesia dado a uma execução de função é de 60 minutos durante a redução horizontal para os planos Flex Consumo e Premium, e um período de cortesia de 10 minutos é dado durante as atualizações da plataforma.
  3. Exige que o plano do Serviço de Aplicativo seja definido como Always On. Um período de cortesia de 10 minutos é dado durante as atualizações da plataforma.
  4. O tempo limite padrão para a versão 1.x do tempo de execução do Functions é ilimitado.
  5. Quando o número mínimo de réplicas for definido como zero, o tempo limite padrão dependerá dos gatilhos específicos usados no aplicativo.

Próximas etapas

Para saber mais, consulte os recursos a seguir: