Fouten opsporen in een Asset Compute-worker

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 {
    de looppasconsole.log van de AIR app (...)
  • Vanuit aio app test worden logbestanden afgedrukt naar /build/test-results/test-worker/test.log
    Ao app test console.log (...)
  • Met wskdebug worden loginstructies afgedrukt naar de VS-console voor foutopsporing van code (Weergave > Foutopsporingsconsole), standaard uit
    wskdebug console.log (...)
  • Loginstructies worden met aio app logs afgedrukt naar het activeringslogbestand.

Foutopsporing op afstand via aangesloten foutopsporing

WARNING
Microsoft Visual Studio Code 1.48.0 of groter van het gebruik voor verenigbaarheid met wskdebug

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

  1. Verzeker wskdebugen ngroknpm modules worden geïnstalleerd

  2. Verzeker {de Desktop van 0} Docker en de ondersteunende beelden van Docker 🔗 geïnstalleerd en lopend zijn

  3. Sluit alle actieve actieve actieve uitvoeringsinstanties van Development Tool.

  4. Implementeer de nieuwste code met aio app deploy en neem de naam van de geïmplementeerde actie op (naam tussen de [...] ). Hiermee werkt u de launch.json in stap 8 bij.

    code language-none
    ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]...
    
  5. Een nieuwe instantie van Asset Compute Development Tool starten met de opdracht npx adobe-asset-compute devtool

  6. 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.
  7. Voeg de volgende JSON-objectconfiguratie toe aan de array configurations :

    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
    }
    
  8. Selecteer nieuwe wskdebug van dropdown

  9. Tik de groene knoop van de Looppas links van wskdebug dropdown

  10. 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

  11. Tik de Looppas knoop om de worker uit te voeren

  12. Navigeer terug naar de VS-code, naar /actions/worker/index.js en doorloop de code

  13. Tik op Ctrl-C in de terminal die de opdracht npx adobe-asset-compute devtool in stap 6 heeft uitgevoerd om het hulpprogramma voor foutopsporing af te sluiten

Logbestanden openen vanuit Adobe I/O Runtime aio-app-logs

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.

  1. Verzeker de werkruimte-specifieke milieuvariabelenvia AIO_runtime_namespace en AIO_runtime_auth worden geplaatst, die op de werkruimte wordt gebaseerd die het zuiveren vereisen.

  2. 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

  3. De meest recente (tot en met de meegeleverde --limit ) activeringslogboeken worden geretourneerd als uitvoer van de opdracht ter controle.

    de logboeken van de ao app

Problemen oplossen

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69