Felsöka en Asset Compute-arbetare
Asset Compute-arbetare kan felsökas på flera olika sätt, från enkla felsökningsloggsatser till bifogad VS-kod som fjärrfelsökare, till att dra loggar för aktiveringar i Adobe I/O Runtime som initierats från AEM as a Cloud Service.
Loggning
Den mest grundläggande formen av felsökning som Asset Compute-arbetare använder traditionella console.log(..)-satser i arbetskoden. JavaScript-objektet console är ett implicit, globalt objekt, så det finns inget behov av att importera eller kräva det, eftersom det alltid finns i alla sammanhang.
Dessa loggsatser är tillgängliga för granskning på olika sätt beroende på hur Asset Compute-arbetaren körs:
- Från
aio app runloggar utskrift till standardutskrift och aktiveringsloggar för utvecklingsverktyget
- Från
aio app test, loggar ut till/build/test-results/test-worker/test.log
- Med
wskdebugloggas satser som skrivs ut på VS-kodens felsökningskonsol (Visa > Felsökningskonsol), som standard
- Med
aio app logsskrivs loggsatser ut till aktiveringsloggens utdata
Fjärrfelsökning via ansluten felsökning
Modulen wskdebug npm stöder koppling av en felsökare till Asset Compute-arbetare, inklusive möjligheten att ange brytpunkter i VS-koden och stega igenom koden.
Klicka igenom felsökningen av en Asset Compute-arbetare med wskdebug (inget ljud)
-
Kontrollera att modulerna wskdebug och ngrok npm är installerade
-
Kontrollera att Docker Desktop och de Docker-bilder som stöds är installerade och körs
-
Stäng alla aktiva instanser av utvecklingsverktyget som körs.
-
Distribuera den senaste koden med
aio app deployoch registrera namnet på den distribuerade åtgärden (namn mellan[...]). Detta används för att uppdateralaunch.jsoni steg 8.code language-none ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]... -
Starta en ny instans av Asset Compute Development Tool med kommandot
npx adobe-asset-compute devtool -
I VS-kod trycker du på ikonen Debug (Felsökning) i den vänstra navigeringen
- Om du uppmanas till det trycker du på Skapa en launch.json-fil > Node.js för att skapa en ny
launch.json-fil. - Annars trycker du på ikonen Kugga till höger om listrutan Starta program för att öppna den befintliga
launch.jsoni redigeraren.
- Om du uppmanas till det trycker du på Skapa en launch.json-fil > Node.js för att skapa en ny
-
Lägg till följande JSON-objektkonfiguration i
configurations-arrayen:code language-json { "type": "pwa-node", "request": "launch", "name": "wskdebug", "attachSimplePort": 0, "runtimeExecutable": "wskdebug", "args": [ "wkndAemAssetCompute-0.0.1/__secured_worker", // Version must match your Asset Compute worker's version "${workspaceFolder}/actions/worker/index.js", // Points to your worker "-l", "--ngrok" ], "localRoot": "${workspaceFolder}", "remoteRoot": "/code", "outputCapture": "std", "timeout": 30000 } -
Välj den nya wskdebug i listrutan
-
Tryck på den gröna Kör-knappen till vänster om listrutan wskdebug
-
Öppna
/actions/worker/index.jsoch tryck till vänster om radnumren för att lägga till brytpunkter 1. Navigera till webbläsarfönstret för Asset Compute Development Tool som öppnas i steg 6 -
Tryck på knappen Kör för att köra arbetaren
-
Navigera tillbaka till VS-koden till
/actions/worker/index.jsoch stega igenom koden -
Om du vill avsluta det felsökningsbara utvecklingsverktyget trycker du på
Ctrl-Ci terminalen som körde kommandotnpx adobe-asset-compute devtooli steg 6
Åtkomst till loggar från Adobe I/O Runtime aio-app-logs
AEM as a Cloud Service utnyttjar Asset Compute-arbetare via Bearbeta profiler genom att anropa dem direkt i Adobe I/O Runtime. Eftersom dessa anrop inte innefattar lokal utveckling kan deras körningar inte felsökas med lokala verktyg som Asset Compute Development Tool eller wskdebug. I stället kan Adobe I/O CLI användas för att hämta loggar från arbetaren som körs på en viss arbetsyta i Adobe I/O Runtime.
-
Kontrollera att de arbetsytespecifika miljövariablerna har angetts via
AIO_runtime_namespaceochAIO_runtime_auth, baserat på arbetsytan som kräver felsökning. -
Kör
aio app logsfrån kommandoraden-
Om arbetsytan har stor trafik kan du utöka antalet aktiveringsloggar via flaggan
--limit:$ aio app logs --limit=25
-
-
De senaste (upp till
--limit) aktiveringsloggarna returneras som utdata för kommandot som ska granskas.