Compartilhar via


Solucionar problemas comuns durante a atualização do Tempo de Execução do Azure

Este artigo descreve como resolver alguns dos problemas comuns que podem ocorrer durante a atualização da linguagem do aplicativo de funções ou da versão do runtime, como o runtime inacessível e os módulos não encontrados.

  • O suporte estendido para o Microsoft .NET Core 3.1 terminou em 3 de dezembro de 2022. O runtime v3 do Azure Functions é 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 de longo prazo. Após 3 de dezembro de 2022, seus aplicativos não estarão qualificados para novos recursos, patches de segurança, otimizações de desempenho ou suporte até que você os atualize para o runtime do Functions versão 4.x.

  • Seus aplicativos do 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 do Functions após essa data. Mas podemos remover a capacidade de você criar aplicativos direcionados ao runtime v3 do Functions usando caminhos comuns.

  • Para obter mais informações e diretrizes de migração, consulte:

Validar a compatibilidade do aplicativo de funções para runtime v4

  • Navegue até o seu aplicativo de funções no portal do Azure. Selecione Diagnosticar e resolver problemas para abrir o diagnóstico do Azure Functions. Na barra de Pesquisa, digite Atualizando a versão de linguagem ou runtime do aplicativo de funções para executá-lo diretamente. O relatório de diagnóstico inclui orientações sobre a atualização. Após a conclusão da validação, siga as recomendações e resolva eventuais problemas no aplicativo.
  • Também fornecemos um validador pré-atualização para ajudar você a identificar possíveis problemas ao migrar seu aplicativo de funções para o 4.x. Na mesma barra de pesquisa de diagnóstico, digite Functions 4.x Pre-Upgrade Validator para executá-lo diretamente. Após a conclusão da validação, siga as recomendações e resolva eventuais problemas no aplicativo.
  • Recomendamos fortemente atualizar o ambiente do projeto local para a versão 4.x. Teste seu aplicativo localmente por completo usando a versão 4.x do Azure Functions Core Tools.
  • Considere o uso de um slot de preparo para testar e verificar seu aplicativo no Azure na nova versão do runtime antes de implantá-lo 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 do runtime do Functions para Windows

  1. Defina FUNCTIONS_EXTENSION_VERSION, que é uma configuração de aplicativo no painel Configuração do portal do Azure, como ~4. Para obter mais informações, consulte Alterar a versão do runtime.
  2. Defina a configuração do netFrameworkVersion site como destino .NET 6. netFrameworkVersion é uma configuração de 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 do Azure/PowerShell.

Para saber mais, confira Versões do Functions runtime.

Alterar a versão do runtime do Functions para Linux

  1. Defina FUNCTIONS_EXTENSION_VERSION, que é uma configuração de aplicativo no painel Configuração do portal do Azure, como ~4. Para obter mais informações, consulte Alterar a versão do runtime.
  2. Defina LinuxFxVersion, usando a CLI (Command Line Interface), como <Language>|<LanguageVersion>, com base no idioma usado. Para obter mais informações, consulte Usando LinuxFxVersion para aplicativos de funções do Linux. Por exemplo, para atualizar para o .NET 6, você pode definir LinuxFxVersion como dotnet|6.0 e FUNCTIONS_EXTENSION_VERSION como ~4.

Para saber mais, confira Versões do Functions runtime.

Obter uma lista de idiomas com suporte pela versão do runtime

Consulte a lista de idiomas com suporte pela versão de runtime.

Atualizar a configuração de versão de 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, consulte Alterar a versão do PowerShell.
  • Python: defina linuxFxVersion como python|3.x. Para saber mais, confira Alterar a versão do Python.
  • Java: especifique a versão da linguagem usando -DjavaVersion como 11 ou 17. Para saber mais, confira Especificar a versão da implantação.
  • Nó, JavaScript: no Windows, defina a configuração do WEBSITE_NODE_DEFAULT_VERSION aplicativo como ~16. Para o Linux, defina linuxFxVersion usando a CLI como node|16. Para obter mais informações, consulte Definir a versão do nó.

Uso de proxies do Azure Functions

O suporte para proxies está retornando na versão 4.x para que você possa atualizar com êxito os aplicativos de funções para a versão mais recente do runtime. No entanto, recomendamos que você alterne para a integração de seus aplicativos de funções com o Gerenciamento de API do Azure o mais rápido possível. O Gerenciamento de API permite que você aproveite um conjunto mais completo de recursos para definir, proteger, gerenciar e monetizar suas APIs baseadas em Functions. Para obter mais informações, consulte Como migrar para o APIM e Integrar o Functions ao APIM usando o Visual Studio.

Obtenha uma lista de todos os aplicativos do Azure Functions que usam a versão de runtime 1.x, 2.x ou 3.x

  1. Navegue até o seu aplicativo de funções no portal do Azure.
  2. Selecione Diagnosticar e resolver problemas para abrir o diagnóstico do Azure Functions.
  3. Na barra de Pesquisa, digite Atualizando a versão de linguagem ou runtime do aplicativo de funções para executá-lo diretamente.
  4. No relatório de diagnóstico, role para baixo e selecione Listar Todos os Detalhes do Modo de Exibição do Aplicativo>de Funções.
  5. 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 chamadas à API REST do Serviço de Aplicativo (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

O .NET Framework 4.6.1 atingiu o fim da vida útil, portanto, os aplicativos deverão ser atualizados para o .NET Framework 4.8. No Functions v4, você pode executar um aplicativo .NET Framework 4.8 no modo fora do processo. Para saber mais, confira o guia de processo isolado.

Um aplicativo de funções migrado não está sendo iniciado ou tem alguns problemas de runtime

  • Para aplicativos .NET, lembre-se de atualizar o código para o .NET 6 antes de compilar e implantar.
  • Verifique novamente a versão de runtime do aplicativo no portal do Azure.
  • Para os aplicativos do Windows, você também precisa 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 as versões 2.x ou 3.0.0.
  • Não há mais suporte para registrar em log no Armazenamento do Microsoft Azure usando AzureWebJobsDashboard na versão 4.x. Em vez disso, use o Application Insights para monitoramento.
  • Se você receber uma mensagem informando que o runtime do Azure Functions está inacessível e estiver compartilhando contas de armazenamento, consulte Considerações sobre a ID do Host.
  • O Azure Functions 4.x não dá suporte ao Node.js 10 e 12, ao Python 3.6 e ao PowerShell 6. Para obter mais informações, consulte Versões de linguagem compatíveis com o runtime v4.
  • Para funções Python, se houver erros relacionados à colisão de módulos e módulo não encontrado, 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 Aplicativo de funções inativo ou relatando erros e examine o relatório de diagnóstico para mensagens de erro e soluções. Examine também o detector Verificações de Configuração de Funções para verificar se a configuração está correta.
  • Examine o blog Problemas ao atualizar os 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.