Solucionar problemas comuns durante a atualização do Azure Runtime
Este artigo descreve como resolve alguns dos problemas comuns que podem ocorrer durante a atualização da linguagem do aplicativo de funções ou da versão de runtime, como o runtime ser inacessível e os módulos não serem encontrados.
Ações a serem executadas se você receber um email "Ação recomendada: atualizar seus aplicativos Azure Functions para usar o .NET 6".
O suporte estendido para o Microsoft .NET Core 3.1 terminou em 3 de dezembro de 2022. Azure Functions runtime v3 é baseado no .NET core 3.1. Recomendamos que você atualize seu aplicativo de funções para a versão 4.x do runtime, que usa o .NET 6 e tem suporte a longo prazo. Após 3 de dezembro de 2022, seus aplicativos não são qualificados para novos recursos, patches de segurança, otimizações de desempenho ou suporte até atualizá-los para o Runtime do Functions versão 4.x.
Seus aplicativos functions no runtime v3 continuarão a ser executados e seus aplicativos não serão afetados. Você pode implantar o código nesses aplicativos functions após essa data. Mas podemos remover a capacidade de você criar aplicativos direcionados ao runtime do Functions v3 usando caminhos comuns.
Para obter mais informações e diretrizes de migração, confira:
Validar a compatibilidade do aplicativo de funções para runtime v4
- Navegue até o aplicativo de funções no portal do Azure. Selecione Diagnosticar e resolver problemas para abrir Azure Functions diagnóstico. Na barra Pesquisa , digite Atualizar Linguagem de Aplicativo de Função ou Versão do Runtime para executá-la diretamente. O relatório de diagnóstico inclui diretrizes sobre a atualização. Após a conclusão da validação, siga as recomendações e resolva quaisquer problemas em seu aplicativo.
- Também fornecemos um validador de pré-atualização para ajudá-lo a identificar possíveis problemas ao migrar seu aplicativo de funções para 4.x. Na mesma barra de pesquisa diagnóstico, digite Functions 4.x Pré-Upgrade Validador para executá-lo diretamente. Após a conclusão da validação, siga as recomendações e resolva quaisquer problemas em seu aplicativo.
- Recomendamos atualizar seu ambiente de projeto local para a versão 4.x. Teste totalmente seu aplicativo localmente usando a versão 4.x das Azure Functions ferramentas principais.
- Considere usar um slot de preparo para testar e verificar seu aplicativo no Azure na nova versão de runtime antes de implantar em um slot de produção. Lembre-se de definir
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS=0
para migração com slots.
Alterar a versão de runtime do Functions para Windows
- Defina FUNCTIONS_EXTENSION_VERSION, que é uma configuração de aplicativo no painel configuração portal do Azure, como
~4
. Para obter mais informações, consulte Alterar a versão do runtime. - Defina a configuração do
netFrameworkVersion
site como destino do .NET 6.netFrameworkVersion
é uma configuração SiteConfig, não uma configuração de aplicativo. E não está disponível diretamente no portal do Azure. Mas você pode defini-lo usando o Azure Resource Explorer ou a CLI/PowerShell do Azure.
Para obter mais informações, consulte Versões de runtime do Functions.
Alterar a versão de runtime do Functions para Linux
- Defina FUNCTIONS_EXTENSION_VERSION, que é uma configuração de aplicativo no painel configuração portal do Azure, como
~4
. Para obter mais informações, consulte Alterar a versão do runtime. - Defina
LinuxFxVersion
, usando a CLI (Interface de Linha de Comando), como<Language>|<LanguageVersion>
, com base no idioma usado. Para obter mais informações, confira Usando LinuxFxVersion para Aplicativos de Funções linux. Por exemplo, para atualizar para o .NET 6, você pode definirLinuxFxVersion
comodotnet|6.0
eFUNCTIONS_EXTENSION_VERSION
para~4
.
Para obter mais informações, consulte Versões de runtime do Functions.
Obter uma lista de idiomas com suporte pela versão de runtime
Confira a lista de idiomas com suporte pela versão de runtime.
Atualizar a configuração de versão do idioma para o aplicativo de funções depois de atualizar o código
- PowerShell: no portal do Azure, defina o
PowerShell Core version
. Para obter mais informações, confira Alterar a versão do PowerShell. - Python: definido
linuxFxVersion
comopython|3.x
. Para obter mais informações, consulte Alterar a versão do Python. - Java: especifique a versão do idioma usando
-DjavaVersion
como 11 ou 17. Para obter mais informações, consulte Especificar a versão de implantação. - Nó, JavaScript: para Windows, defina a configuração do
WEBSITE_NODE_DEFAULT_VERSION
aplicativo como~16
. Para Linux, definalinuxFxVersion
, usando a CLI, comonode|16
. Para obter mais informações, consulte Definir a versão do Nó.
uso de Proxies Azure Functions
O suporte para proxies está disponível novamente na versão 4.x para que você possa atualizar com êxito seus aplicativos de funções para a versão mais recente do runtime. No entanto, recomendamos que você alterne para integrar seus aplicativos de funções ao Azure Gerenciamento de API o mais rápido possível. Gerenciamento de API permite que você aproveite um conjunto mais completo de recursos para definir, proteger, gerenciar e monetizar suas APIs baseadas em Funções. Para obter mais informações, confira Como migrar para APIM e Integrar Funções com APIM usando o Visual Studio.
Obter uma lista de todos os aplicativos Azure Functions que usam a versão de runtime 1.x, 2.x ou 3.x
- Navegue até o aplicativo de funções no portal do Azure.
- Selecione Diagnosticar e resolver problemas para abrir Azure Functions diagnóstico.
- Na barra Pesquisa , digite Atualizar Linguagem de Aplicativo de Função ou Versão do Runtime para executá-la diretamente.
- No relatório de diagnóstico, role para baixo e selecione Listar Todos osDetalhes do Modo de Exibição do Aplicativo > de Funções.
- Defina os filtros de pesquisa e selecione Mostrar para obter a lista de aplicativos de funções na assinatura atual.
Como alternativa, você pode usar Serviço de Aplicativo chamadas de API REST (GetConfiguration) para determinar isso.
LinuxFxVersion
e WindowsFxVersion
forneça as informações da versão.
Mover um aplicativo .NET Framework 4.6.1 do runtime do Functions v1 para v4
.NET Framework 4.6.1 atingiu o fim da vida útil, portanto, os aplicativos devem ser atualizados para .NET Framework 4.8. No Functions v4, você pode executar um aplicativo .NET framework 4.8 no modo fora de processo. Para obter mais informações, consulte o guia de processo isolado.
Um aplicativo de funções migrado não está começando ou tem alguns problemas de runtime
- Para aplicativos .NET, lembre-se de atualizar o código para o .NET 6 antes de criar e implantar.
- Marcar a versão de runtime do aplicativo no portal do Azure.
- Para aplicativos windows, você também deve definir
netFrameworkVersion
usando a CLI ou o PowerShell. - Verifique se você está usando os pacotes de extensão 2.x ou posterior, conforme recomendado. A versão 4.x do runtime do Functions requer versões 2.x ou 3.0.0.
- O logon no Armazenamento do Azure usando o AzureWebJobsDashboard não tem mais suporte em 4.x. Em vez disso, use o Application Insights para monitoramento.
- Se você receber uma mensagem de que Azure Functions runtime é inacessível e está compartilhando contas de armazenamento, consulte Considerações sobre A ID do Host.
- Azure Functions 4.x não dá suporte a Node.js 10 e 12, Python 3.6 e PowerShell 6. Para obter mais informações, consulte Versões de idioma com suporte para o runtime v4.
- Para funções python, se houver erros relacionados à colisão do módulo e ao módulo não encontrados, tente definir
PYTHON_ISOLATE_WORKER_DEPENDENCIES
como 1 nas configurações do aplicativo. - Examine Migrando aplicativos de funções existentes.
- Para problemas de runtime, na opção Diagnosticar e Resolver Problemas no portal do Azure, pesquise erros de relatório ou no aplicativo Function e examine o relatório de diagnóstico em busca de mensagens de erro e soluções. Examine também o detector de verificações de configuração de função para verificar se a configuração está correta.
- Examine os problemas do blog ao atualizar aplicativos de funções do Azure para v4 para obter dicas adicionais de solução de problemas.
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.