Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
O conteúdo deste artigo muda com base na sua escolha do modelo de programação Node.js no seletor na parte superior da página. O modelo v4 está geralmente disponível e foi projetado para ter uma experiência mais flexível e intuitiva para desenvolvedores JavaScript e TypeScript. Saiba mais sobre as diferenças entre v3 e v4 no guia de migração.
Este artigo fornece um guia para resolver cenários comuns em Node.js aplicações funcionais.
O separador Diagnosticar e resolver problemas no portal do Azure é um recurso útil para monitorizar e diagnosticar possíveis problemas relacionados com a sua aplicação. Também fornece potenciais soluções para os seus problemas com base no diagnóstico. Para mais informações, consulte Diagnósticos da app do Azure Functions.
Outro recurso útil é o separador Logs no portal do Azure para a sua instância do Application Insights, para que possa executar consultas KQL personalizadas. A seguinte consulta de exemplo mostra como visualizar erros e avisos da sua aplicação no último dia:
let myAppName = "<your app name>";
let startTime = ago(1d);
let endTime = now();
union traces,requests,exceptions
| where cloud_RoleName =~ myAppName
| where timestamp between (startTime .. endTime)
| where severityLevel > 2
Se esses recursos não resolveram o seu problema, as secções seguintes fornecem conselhos para questões específicas de aplicação:
Nenhuma função encontrada
Se vir algum dos seguintes erros nos seus registos:
Não foram encontrados gatilhos HTTP.
Nenhuma função de trabalho encontrada. Experimente tornar públicas as suas classes de tarefa e métodos. Se estiveres a usar extensões de associação (por exemplo, Armazenamento do Azure, ServiceBus, Timers, etc.), certifica-te de que chamaste o método de registo da(s) extensão(ões) no teu código de inicialização (por exemplo, builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers(), etc.).
Experimente as seguintes soluções:
- Ao correr localmente, certifique-se de que está a usar o Funções do Azure Core Tools v4.0.5382 ou superior.
- Ao correr no Azure:
Certifica-te de que estás a usar a versão do runtime do Funções do Azure 4.25 ou posterior.
Certifica-te de que estás a usar Node.js v18 ou superior.
Defina as definições
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERRORda aplicação paratrue. Esta configuração é recomendada para todas as aplicações modelo v4 e garante que todos os erros de entrada são visíveis nos registos de insights da sua aplicação. Para obter mais informações, consulte Referência de configurações de aplicativo para o Funções do Azure.Verifica os registos da tua app de funções para erros nos pontos de entrada. A consulta de exemplo seguinte mostra como visualizar erros no ponto de entrada para a sua aplicação no último dia:
let myAppName = "<your app name>"; let startTime = ago(1d); let endTime = now(); union traces,requests,exceptions | where cloud_RoleName =~ myAppName | where timestamp between (startTime .. endTime) | where severityLevel > 2 | where message has "entry point"
- Certifica-te de que a tua aplicação tem a estrutura de pastas necessária com uma host.json na raiz e uma pasta para cada função contendo um ficheirofunction.json .
A solicitação Undici não é um construtor
Se aparecer o seguinte erro nos registos da sua aplicação de funções:
System.Private.CoreLib: Exceção durante a execução da função: Functions.httpTrigger1. System.Private.CoreLib: Resultado: Exceção de falha: undici_1.Request não é um construtor
Certifica-te de que estás a usar Node.js versão 22.x ou superior.
Falhou a deteção do runtime do Funções do Azure
Se aparecer o seguinte erro nos registos da sua aplicação de funções:
AVISO: Falhou a deteção do runtime do Funções do Azure. Mudar o pacote "@azure/functions" para o modo de teste - nem todas as funcionalidades são suportadas.
Verifique o ficheiro package.json para ver se existe uma referência a applicationinsights e certifique-se de que a versão é ^2.7.1 ou superior. Depois de atualizar a versão, execute npm install
Obtenha ajuda da Microsoft
Pode obter mais ajuda da Microsoft de uma das seguintes formas:
- Pesquise os problemas conhecidos no repositório Funções do Azure Node.js. Se não vires o teu problema mencionado, cria um novo e diz-nos o que aconteceu.
- Se não conseguir diagnosticar o seu problema com este guia, os engenheiros de suporte da Microsoft estão disponíveis para ajudar a diagnosticar problemas na sua aplicação. A Microsoft oferece vários planos de suporte. Crie um ticket de suporte na secção de Suporte + resolução de problemas da página da sua aplicação de funções no portal Azure.