Fouten opsporen in een Asset Compute-worker
- Onderwerpen:
- Asset Compute-microservices
Gemaakt voor:
- tussenpersoon
- Ervaren
- Ontwikkelaar
Asset Compute-workers kunnen op verschillende manieren worden opgespoord, van eenvoudige foutopsporingsinstructies tot gekoppelde VS-code als extern foutopsporingsprogramma tot het ophalen van logboeken voor activeringen in Adobe I/O Runtime die vanuit AEM as a Cloud Service worden geïnitieerd.
Logboekregistratie
De meest elementaire vorm van foutopsporing voor Asset Compute-workers gebruikt traditionele console.log(..)
-instructies in de code van de worker. Het JavaScript-object console
is een impliciet, globaal object, zodat het niet hoeft te worden geïmporteerd of vereist, omdat het altijd in alle contexten voorkomt.
Deze loginstructies zijn beschikbaar voor review op een andere manier, afhankelijk van de manier waarop de Asset Compute-worker wordt uitgevoerd:
- Van
aio app run
, drukken de logboeken aan standaard uit en de 🔗 Logboeken van de Activering van het 1} Hulpmiddel van de Ontwikkeling {
- Vanuit
aio app test
worden logbestanden afgedrukt naar/build/test-results/test-worker/test.log
- Met
wskdebug
worden loginstructies afgedrukt naar de VS-console voor foutopsporing van code (Weergave > Foutopsporingsconsole), standaard uit
- Loginstructies worden met
aio app logs
afgedrukt naar het activeringslogbestand.
Foutopsporing op afstand via aangesloten foutopsporing
wskdebugnpm module, steunt het vastmaken van debugger aan de arbeiders van Asset Compute, met inbegrip van de capaciteit om breekpunten in de Code van VS te plaatsen en door de code te stappen.
klik-door van het zuiveren van een arbeider van Asset Compute die (Geen audio) gebruiken wskdebug
-
Verzeker {de Desktop van 0} Docker en de ondersteunende beelden van Docker 🔗 geïnstalleerd en lopend zijn
-
Sluit alle actieve actieve actieve uitvoeringsinstanties van Development Tool.
-
Implementeer de nieuwste code met
aio app deploy
en neem de naam van de geïmplementeerde actie op (naam tussen de[...]
). Hiermee werkt u delaunch.json
in stap 8 bij.ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]...
-
Een nieuwe instantie van Asset Compute Development Tool starten met de opdracht
npx adobe-asset-compute devtool
-
Tik in VS-code op het pictogram Foutopsporing in de linkernavigatie
- Indien ertoe aangezet, creeer de aanraking een launch.json- dossier > Node.js om een nieuw
launch.json
dossier tot stand te brengen. - Elders, tik het pictogram van het Gear rechts van Programma van de Lancering dropdown om het bestaan
launch.json
in de redacteur te openen.
- Indien ertoe aangezet, creeer de aanraking een launch.json- dossier > Node.js om een nieuw
-
Voeg de volgende JSON-objectconfiguratie toe aan de array
configurations
:{ "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 }
-
Selecteer nieuwe wskdebug van dropdown
-
Tik de groene knoop van de Looppas links van wskdebug dropdown
-
Open
/actions/worker/index.js
en tik links van de regelnummers om onderbrekingspunten 1 toe te voegen. Navigeer naar het browservenster van Asset Compute Development Tool dat in stap 6 is geopend -
Tik de Looppas knoop om de worker uit te voeren
-
Navigeer terug naar de VS-code, naar
/actions/worker/index.js
en doorloop de code -
Tik op
Ctrl-C
in de terminal die de opdrachtnpx adobe-asset-compute devtool
in stap 6 heeft uitgevoerd om het hulpprogramma voor foutopsporing af te sluiten
Logbestanden openen vanuit Adobe I/O Runtime
AEM as a Cloud Service hefboomwerkingen de arbeiders van Asset Compute via de Profielen van de Verwerkingdoor hen in Adobe I/O Runtime direct aan te halen. Omdat deze aanroepen geen lokale ontwikkeling impliceren, kunnen hun uitvoeringen niet worden gezuiverd gebruikend lokale hulpmiddelen zoals het Hulpmiddel van de Ontwikkeling van Asset Compute of wskdebug. In plaats daarvan, kan CLI van Adobe I/O worden gebruikt om logboeken van de worker te halen die in een bepaalde werkruimte in Adobe I/O Runtime wordt uitgevoerd.
-
Verzeker de werkruimte-specifieke milieuvariabelenvia
AIO_runtime_namespace
enAIO_runtime_auth
worden geplaatst, die op de werkruimte wordt gebaseerd die het zuiveren vereisen. -
Uitvoeren vanaf de opdrachtregel
aio app logs
-
Als er veel verkeer is in de werkruimte, vouwt u het aantal activeringslogboeken uit via de markering
--limit
:$ aio app logs --limit=25
-
-
De meest recente (tot en met de meegeleverde
--limit
) activeringslogboeken worden geretourneerd als uitvoer van de opdracht ter controle.