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 run loggar utskrift till standardutskrift och aktiveringsloggar för utvecklingsverktyget
    AIR-appen kör console.log(..)
  • Från aio app test, loggar ut till /build/test-results/test-worker/test.log
    teskonsol för AIR-appar.log(..)
  • Med wskdebug loggas satser som skrivs ut på VS-kodens felsökningskonsol (Visa > Felsökningskonsol), som standard
    wskdebug console.log(...)
  • Med aio app logs skrivs loggsatser ut till aktiveringsloggens utdata

Fjärrfelsökning via ansluten felsökning

WARNING
Använd Microsoft Visual Studio Code 1.48.0 eller senare för kompatibilitet med wskdebug

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)

  1. Kontrollera att modulerna wskdebug och ngrok npm är installerade

  2. Kontrollera att Docker Desktop och de Docker-bilder som stöds är installerade och körs

  3. Stäng alla aktiva instanser av utvecklingsverktyget som körs.

  4. Distribuera den senaste koden med aio app deploy och registrera namnet på den distribuerade åtgärden (namn mellan [...]). Detta används för att uppdatera launch.json i steg 8.

    code language-none
    ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]...
    
  5. Starta en ny instans av Asset Compute Development Tool med kommandot npx adobe-asset-compute devtool

  6. 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.json i redigeraren.
  7. 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
    }
    
  8. Välj den nya wskdebug i listrutan

  9. Tryck på den gröna Kör-knappen till vänster om listrutan wskdebug

  10. Öppna /actions/worker/index.js och 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

  11. Tryck på knappen Kör för att köra arbetaren

  12. Navigera tillbaka till VS-koden till /actions/worker/index.js och stega igenom koden

  13. Om du vill avsluta det felsökningsbara utvecklingsverktyget trycker du på Ctrl-C i terminalen som körde kommandot npx adobe-asset-compute devtool i 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.

  1. Kontrollera att de arbetsytespecifika miljövariablerna har angetts via AIO_runtime_namespace och AIO_runtime_auth, baserat på arbetsytan som kräver felsökning.

  2. Kör aio app logs från kommandoraden

    • Om arbetsytan har stor trafik kan du utöka antalet aktiveringsloggar via flaggan --limit:

      $ aio app logs --limit=25

  3. De senaste (upp till --limit) aktiveringsloggarna returneras som utdata för kommandot som ska granskas.

    AIR-apploggar

Felsökning

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