Eseguire il debug di un processo di lavoro Asset compute
I processi di lavoro Asset compute possono essere sottoposti a debug in diversi modi, dalle semplici istruzioni di registro di debug, al codice VS allegato come debugger remoto, fino all’estrazione dei registri per le attivazioni in Adobe I/O Runtime avviate dall’AEM as a Cloud Service.
Registrazione
La forma più semplice di debug dei processi di lavoro Asset compute utilizza console.log(..)
istruzioni nel codice del lavoratore. Il console
L'oggetto JavaScript è un oggetto globale implicito, pertanto non è necessario importarlo o richiederlo, in quanto è sempre presente in tutti i contesti.
Queste istruzioni di registro sono disponibili per la revisione in modo diverso in base alla modalità di esecuzione del lavoratore Asset compute:
- Da
aio app run
, registra la stampa in formato standard e Strumenti di sviluppo Registri di attivazione
- Da
aio app test
, registra la stampa su/build/test-results/test-worker/test.log
- Utilizzo di
wskdebug
, registra le istruzioni per la stampa nella console di debug del codice VS (Visualizza > Console di debug), uscita standard
- Utilizzo di
aio app logs
, le istruzioni di registro vengono stampate nell'output del registro di attivazione
Debugging remoto tramite il debugger collegato
Il wskdebug npm, supporta l’associazione di un debugger ai processi di lavoro Asset compute, inclusa la possibilità di impostare punti di interruzione nel codice VS e di scorrere il codice.
Click-through del debug di un processo di lavoro Asset compute tramite wskdebug (nessun audio)
-
Assicurare Docker Desktop e le immagini Docker di supporto sono installati e in esecuzione
-
Chiude tutte le istanze in esecuzione attive dello strumento di sviluppo.
-
Distribuisci il codice più recente tramite
aio app deploy
e registra il nome dell’azione implementata (nome compreso tra[...]
). Utilizzato per aggiornarelaunch.json
al punto 8.code language-none ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]...
-
Avvia una nuova istanza di Asset compute Development Tool utilizzando il comando
npx adobe-asset-compute devtool
-
In Codice VS, tocca l’icona Debug nella navigazione a sinistra
- Se richiesto, tocca crea un file launch.json > Node.js per creare un nuovo
launch.json
file. - Altrimenti, tocca il Ingranaggio a destra del Avvia programma menu a discesa per aprire il file
launch.json
nell’editor.
- Se richiesto, tocca crea un file launch.json > Node.js per creare un nuovo
-
Aggiungi la seguente configurazione di oggetto JSON a
configurations
array: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 }
-
Seleziona il nuovo wskdebug dal menu a discesa
-
Tocca il verde Esegui a sinistra di wskdebug elenco a discesa
-
Apri
/actions/worker/index.js
e tocca a sinistra dei numeri di riga per aggiungere i punti di interruzione 1. Passa alla finestra del browser Web dello strumento di sviluppo Asset compute aperta nel passaggio 6 -
Tocca il Esegui per eseguire il processo di lavoro
-
Torna a Codice VS, per
/actions/worker/index.js
e scorri il codice -
Per uscire dallo strumento di sviluppo con debug, tocca
Ctrl-C
nel terminale in esecuzionenpx adobe-asset-compute devtool
comando nel passaggio 6
Accesso ai registri da Adobe I/O Runtime aio-app-logs
AEM as a Cloud Service sfrutta i lavoratori Asset compute tramite Profili di elaborazione richiamandoli direttamente in Adobe I/O Runtime. Poiché queste chiamate non coinvolgono lo sviluppo locale, non è possibile eseguire il debug delle relative esecuzioni utilizzando strumenti locali come Asset compute Development Tool o wskdebug. È invece possibile utilizzare l’interfaccia della riga di comando Adobe I/O per recuperare i registri dal processo di lavoro eseguito in una particolare area di lavoro in Adobe I/O Runtime.
-
Assicurati che variabili di ambiente specifiche per l’area di lavoro sono impostati tramite
AIO_runtime_namespace
eAIO_runtime_auth
, in base all'area di lavoro che richiede il debug. -
Dalla riga di comando, esegui
aio app logs
-
Se il traffico dell’area di lavoro è pesante, espandi il numero di registri di attivazione tramite
--limit
contrassegno:$ aio app logs --limit=25
-
-
La più recente (fino al fornito
--limit
) i registri di attivazione vengono restituiti come output del comando per la revisione.