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
Importante
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.
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:
- 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.
- 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.
- Não há suporte para gatilhos no plano de consumo. Requer gatilhos controlados por runtime.
- 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 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 |
- 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.
- 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.
- 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.
- O tempo limite padrão para a versão 1.x do tempo de execução do Functions é ilimitado.
- 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: