Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
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 | 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.0
ou net6.0
net48
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:
- 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 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 |
- 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.
- 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.
- 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 da versão 1.x do runtime do host do Functions é sem associação.
- 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.
Conteúdo relacionado
Para saber mais, consulte os recursos a seguir: