È possibile eseguire il debug dei processi di lavoro di Asset compute in diversi modi, dalle semplici istruzioni di log di debug, al codice VS allegato come debugger remoto, all’estrazione dei registri per le attivazioni in Adobe I/O Runtime avviate da AEM as a Cloud Service.
La forma più semplice di debugging dei processi di lavoro Asset compute utilizza i processi tradizionali console.log(..)
dichiarazioni nel codice del lavoratore. La 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 processo di lavoro Asset compute:
aio app run
, i registri vengono stampati in uscita standard e dello strumento di sviluppo Registri di attivazioneaio app test
, registra su /build/test-results/test-worker/test.log
wskdebug
, le istruzioni dei registri vengono stampate nella console di debug del codice VS (Visualizza > Console di debug), uscita standardaio app logs
, le istruzioni di registro vengono stampate nell'output del registro di attivazioneUtilizzare Microsoft Visual Studio Code 1.48.0 o versione successiva per la compatibilità con wskdebug
La wskdebug Il modulo npm supporta l’associazione di un debugger ai processi di lavoro di Asset compute, inclusa la possibilità di impostare punti di interruzione nel codice VS e di passare attraverso il codice.
Click-through di debugging di un processo di lavoro Asset compute utilizzando wskdebug (nessun audio)
Assicurati Docker Desktop e le immagini Docker di supporto installati ed in esecuzione
Chiudi tutte le istanze in esecuzione attive dello strumento di sviluppo.
Distribuisci il codice più recente utilizzando aio app deploy
e registra il nome dell'azione distribuita (nome compreso tra [...]
). Viene utilizzato per aggiornare le launch.json
al punto 8.
ℹ 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
launch.json
file.launch.json
nell’editor.Aggiungi la seguente configurazione di oggetto JSON al configurations
array:
{
"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 menu a discesa
Apri /actions/worker/index.js
e toccare a sinistra dei numeri di riga per aggiungere punti di interruzione 1. Passare alla finestra del browser Web dello strumento di sviluppo Asset compute aperta nel passaggio 6
Tocca Esegui pulsante per eseguire il processo di lavoro
Torna a Codice VS e passa a /actions/worker/index.js
e passa attraverso il codice
Per uscire dallo strumento di sviluppo debug, tocca Ctrl-C
nel terminale che è stato eseguito npx adobe-asset-compute devtool
comando al punto 6
AEM as a Cloud Service sfrutta i processi di lavoro di Asset compute tramite Profili elaborazione richiamandoli direttamente in Adobe I/O Runtime. Poiché queste chiamate non richiedono lo sviluppo locale, non è possibile eseguire il debug delle loro esecuzioni utilizzando strumenti locali come Asset compute Development Tool o wskdebug. È invece possibile utilizzare Adobe I/O CLI 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
e AIO_runtime_auth
, in base all’area di lavoro che richiede il debug.
Dalla riga di comando, esegui aio app logs
Se l’area di lavoro sta attraversando un traffico pesante, espandi il numero di registri di attivazione tramite il --limit
bandiera:
$ aio app logs --limit=25
Il più recente (fino al --limit
) i registri delle attivazioni vengono restituiti come output del comando per la revisione.