Partilhar via


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 Descrição
4.x Assembleia 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 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 você migre seus aplicativos para a versão 4.x, que oferece suporte ao .NET Framework 4.8, .NET 8 e .NET 9.

Importante

Em 13 de dezembro de 2022, os aplicativos de função executados nas versões 2.x e 3.x do tempo de execução do Azure Functions chegaram ao fim do suporte estendido. 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 a seguir mostra as versões do .NET suportadas pelo Azure Functions.

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. Utilize com versões suportadas do .NET e .NET Framework. Para saber mais, consulte Guia para executar o C# Azure Functions no modelo de trabalhador isolado.

Versão suportada Nível de suporte Data prevista para o fim do suporte
.NET 9 Assembleia Geral Maio 12, 2026
.NET 8 Assembleia Geral 10 de novembro de 2026
.NET Framework 4.8.1 Assembleia Geral Ver política

O .NET 6 era anteriormente suportado no modelo de trabalhador isolado, 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.

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 suportadas para funções Java.

Versão suportada Nível de suporte Supported until: Suportado 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 da Temurin.

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

A tabela a seguir mostra as versões de idioma suportadas para Node.js funções.

Versão suportada Nível de suporte Data prevista para o fim do suporte
Node.js 22 GA (Linux)
Pré-visualização (Windows)
30 de abril de 2027
Node.js 20 Assembleia Geral 30 de abril de 2026

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.

Versão suportada Nível de suporte Data prevista para o fim do suporte
PowerShell 7.4 Assembleia Geral 10 de novembro de 2026

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.

Versão suportada Nível de suporte Data prevista para o fim do suporte
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 obter mais informações, consulte Guia do desenvolvedor Python do Azure Functions.

Para obter informações sobre alterações planejadas no suporte a idiomas, consulte as atualizações de roteiro do 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 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 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 fixar numa versão menor difere entre Windows e Linux. Para saber mais, consulte Como definir versões do runtime 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 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 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 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 Assembleia Geral
2,x Sem apoio Assembleia Geral

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.

As versões 2.x e 3.x não são mais suportadas devido ao fim do suporte para o .NET Core 3.1, que era 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 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 net8.0, net6.0ou net48 como estrutura-alvo. Também pode optar por utilizar suporte para pré-visualização para net9.0. Se você estiver usando o modelo em processo, poderá escolher net8.0 ou net6.0e deverá incluir a extensão Microsoft.NET.Sdk.Functions definida como pelo menos 4.4.0.

O .NET 7 era anteriormente suportado no modelo de trabalhador isolado, mas chegou ao fim do suporte oficial em 14 de maio de 2024.

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 o azureFunctions.projectRuntime corresponda à 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 tempo de execução usa um novo modelo de extensibilidade de ligação que oferece estas 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 obter mais informações, consulte padrões de expressão de vinculação do Azure Functions.

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

Tipo 1,x1 2.x e versões superiores2 Acionador Entrada Resultado
Blob Storage
Azure Cosmos DB
Azure Data Explorer
Azure SQL
Dapr4
Grelha de Eventos
Hubs de Eventos
HTTP & webhooks
Hub IoT
Kafka3
Aplicações Móveis
Hubs de Notificação
Armazenamento em fila
Redis
CoelhoMQ3
SendGrid
Barramento de Serviço
SignalR
Armazenamento de tabelas
Temporizador
Twilio

Notas:

  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 extensões de vinculação de registro.
  3. Os gatilhos não são suportados no plano de Consumo. Requer gatilhos controlados por tempo de execução.
  4. Suportado apenas em Kubernetes, IoT Edge e outros modos auto-hospedados.

Duração do tempo limite da aplicação de função

A duração do timeout para funções em uma aplicação de função é definida pela propriedade functionTimeout no ficheiro 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 evitar timeouts, é importante escrever funções robustas. 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:

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
  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 padrão de inatividade do Azure Load Balancer. 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. 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.
  3. 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.
  4. O tempo limite padrão para a versão 1.x do tempo de execução do host Functions é ilimitado.
  5. 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.

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