Compartilhar via


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 Assembleia Geral 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, ao .NET 8, e ao .NET 9.

Importante

A partir de 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 chegaram ao 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.

Selecione seu idioma de desenvolvimento preferido na parte superior do artigo.

A tabela a seguir mostra as versões do .NET compatíveis com o Azure Functions.

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, consulte Guia para executar o C# Azure Functions no modelo de trabalho isolado.

Versão com suporte Nível de suporte Data de fim do suporte esperada
.NET 9 Assembleia Geral 12 de maio de 2026
.NET 8 Assembleia Geral 10 de novembro de 2026
.NET Framework 4.8.1 Assembleia Geral Consultar política

Anteriormente, o .NET 6 tinha suporte no modelo de trabalho isolado, mas chegou ao fim do suporte oficial em 12 de novembro de 2024.

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 obter mais informações, consulte Guia para executar o C# Azure Functions no modelo de trabalho isolado.

A tabela a seguir mostra as versões de linguagem de programação compatíveis com funções Java.

Versão com suporte Nível de suporte Com suporte até
Java 21 Assembleia Geral Consulte o Roteiro de lançamento e manutenção.
Java 17 Assembleia Geral Consulte o Roteiro de lançamento e manutenção.
Java 11 Assembleia Geral Consulte o Roteiro de lançamento e manutenção.
Java 8 Assembleia Geral Consulte esta página de suporte do Temurin.

Para obter mais informações sobre como desenvolver e executar funções Java, consulte o Guia do desenvolvedor Java do Azure Functions.

A tabela a seguir mostra as versões de linguagem de programação compatíveis com funções Node.js.

Versão com suporte Nível de suporte Data de fim do suporte esperada
Node.js 22 GA (Linux)
Versão prévia (Windows)
30 de abril de 2027
Node.js 20 Assembleia Geral 30 de abril de 2026

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.

Versão com suporte Nível de suporte Data de fim do suporte esperada
PowerShell 7.4 Assembleia Geral 10 de novembro de 2026

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.

Versão com suporte Nível de suporte Data de fim do suporte esperada
Python 3.12 Assembleia Geral Outubro de 2028
Python 3.11 Assembleia Geral Outubro de 2027
Python 3.10 Assembleia Geral Outubro de 2026
Python 3.9 Assembleia Geral Outubro de 2025

Para saber mais, confira o Guia do desenvolvedor Python do Azure Functions.

Para obter informações sobre alterações planejadas no suporte ao idioma, consulte as atualizações de 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.

Alterando a versão dos 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 problemas que seu aplicativo de funções pode ter ao executar na versão principal mais recente, você deve fixar temporariamente seu aplicativo 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 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 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 a 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 Assembleia Geral
2.x Sem suporte Assembleia Geral

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.

As versões 2.x e 3.x não têm mais suporte devido ao fim do suporte para o .NET Core 3.1, que era 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, poderá escolher, net8.0ou net6.0net48 como a estrutura de destino. Você também pode optar por usar o suporte de visualização para net9.0. Se você estiver usando o modelo em processo, poderá escolher net8.0 ou net6.0, e deve incluir a extensão Microsoft.NET.Sdk.Functions definida para 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 precisa atualizar a configuração do usuário para o azureFunctions.projectRuntime para 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 que não são da Microsoft.

  • 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, consulte padrões de expressão de associação do Azure Functions.

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
Sinal R
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 das 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 durante a duração do tempo limite. Para evitar tempos limite, é importante gravar as 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 Flexível 30 Não associado2
Plano Premium 304 Não associado2
Plano dedicado 304 Não associado3
Aplicativos de Contêiner 30 Desassociado5
Plano de Consumo 5 10
  1. Independentemente da configuração do tempo limite do aplicativo de funções, 230 segundos é a quantidade máxima de tempo que uma função disparada por HTTP pode levar para responder a uma solicitação. Isso ocorre devido ao tempo limite ocioso 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á uma 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 da versão 1.x do runtime do host do Functions é sem associação.
  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.

Para saber mais, consulte os recursos a seguir: