Sdílet prostřednictvím


Řešení potíží s aplikacemi Node.js ve službě Azure Functions

Důležité

Obsah tohoto článku se změní na základě vašeho výběru programovacího modelu Node.js v selektoru v horní části stránky. Model v4 je obecně dostupný a je navržený tak, aby měl flexibilnější a intuitivnější prostředí pro vývojáře v JavaScriptu a TypeScriptu. Další informace o rozdílech mezi v3 a v4 najdete v průvodci migrací.

Tento článek obsahuje průvodce odstraňováním běžných scénářů v aplikacích funkcí Node.js.

Karta Diagnostika a řešení problémů na webu Azure Portal je užitečný prostředek pro monitorování a diagnostiku možných problémů souvisejících s vaší aplikací. Poskytuje také potenciální řešení vašich problémů na základě diagnostiky. Další informace najdete v tématu Diagnostika aplikací funkcí Azure.

Dalším užitečným prostředkem je karta Protokoly na webu Azure Portal pro vaši instanci Přehledy aplikace, abyste mohli spouštět vlastní dotazy KQL. Následující ukázkový dotaz ukazuje, jak zobrazit chyby a upozornění aplikace za poslední den:

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

Pokud tyto prostředky váš problém nevyřeší, následující části poskytují rady pro konkrétní problémy s aplikacemi:

Nenašly se žádné funkce.

Pokud se v protokolech zobrazí některá z následujících chyb:

Nenašly se žádné triggery HTTP.

Nebyly nalezeny žádné funkce úloh. Zkuste, aby vaše třídy a metody úloh byly veřejné. Pokud používáte rozšíření vazeb (např. Azure Storage, ServiceBus, Časovače atd.), ujistěte se, že jste v spouštěcím kódu (např. tvůrci) volali metodu registrace pro rozšíření. AddAzureStorage(), builder. AddServiceBus(), builder. AddTimers() atd.).

Vyzkoušejte následující opravy:

  • Při místním spuštění se ujistěte, že používáte Azure Functions Core Tools verze 4.0.5382 nebo vyšší.
  • Při spuštění v Azure:
    • Ujistěte se, že používáte modul runtime Azure Functions verze 4.25 nebo vyšší.

    • Ujistěte se, že používáte Node.js verze 18 nebo vyšší.

    • Nastavte nastavení FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR aplikace na truehodnotu . Toto nastavení se doporučuje pro všechny aplikace modelu v4 a zajišťuje, aby se v protokolech Application Insights zobrazovaly všechny chyby vstupních bodů. Další informace najdete v referenčních informacích k nastavení aplikace pro Azure Functions.

    • Zkontrolujte chyby vstupního bodu v protokolech aplikace funkcí. Následující příklad dotazu ukazuje, jak zobrazit chyby vstupního bodu pro vaši aplikaci za poslední den:

      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"
      

Undici request is not a constructor

Pokud se v protokolech aplikace funkcí zobrazí následující chyba:

System.Private.CoreLib: Výjimka při provádění funkce: Functions.httpTrigger1. System.Private.CoreLib: Výsledek: Výjimka selhání: undici_1.Request není konstruktor

Ujistěte se, že používáte Node.js verze 18.x nebo vyšší.

Nepodařilo se zjistit modul runtime Služby Azure Functions

Pokud se v protokolech aplikace funkcí zobrazí následující chyba:

UPOZORNĚNÍ: Nepodařilo se zjistit modul runtime Služby Azure Functions. Přepnutí balíčku @azure/functions do testovacího režimu – ne všechny funkce jsou podporované.

Zkontrolujte package.json v souboru odkaz na applicationinsights verzi a ujistěte se, že je ^2.7.1 verze nebo vyšší. Po aktualizaci verze spusťte příkaz npm install

Získejte pomoc od společnosti Microsoft

Další pomoc od Microsoftu získáte jedním z následujících způsobů:

  • Prohledejte známé problémy v úložišti Azure Functions Node.js. Pokud se váš problém nezmíní, vytvořte nový problém a dejte nám vědět, co se stalo.
  • Pokud se vám nedaří diagnostikovat váš problém pomocí této příručky, jsou technici podpory Microsoftu k dispozici, aby vám pomohli diagnostikovat problémy s vaší aplikací. Microsoft nabízí různé plány podpory. Vytvořte lístek podpory v části Podpora a řešení potíží na stránce vaší aplikace funkcí na webu Azure Portal.

Další kroky