Los trabajadores de asset compute se pueden depurar de varias maneras, desde simples sentencias de registro de depuración, pasando por el código VS adjunto como depurador remoto, hasta la extracción de registros para activaciones en Adobe I/O Runtime iniciadas desde AEM as a Cloud Service.
La forma más básica de depuración de los trabajadores de Asset compute es la tradicional console.log(..)
en el código de trabajo. La variable console
El objeto JavaScript es un objeto global implícito, por lo que no es necesario importarlo ni requerirlo, ya que siempre está presente en todos los contextos.
Estas instrucciones de registro están disponibles para su revisión de forma diferente en función de cómo se ejecuta el trabajador de Asset compute:
aio app run
, los registros se imprimen en el estándar out y la variable Herramienta de desarrollo Registros de activaciónaio app test
, registros imprimir en /build/test-results/test-worker/test.log
wskdebug
, registra las instrucciones impresas en la consola de depuración de código VS (Ver > Consola de depuración), salida estándaraio app logs
, las instrucciones de registro se imprimen en la salida del registro de activaciónUsar Microsoft Visual Studio Code 1.48.0 o bueno para compatibilidad con wskdebug
La variable wskdebug El módulo npm es compatible con la asociación de un depurador a los trabajadores de Asset compute, incluida la capacidad de establecer puntos de interrupción en el código VS y pasar por el código.
Pulsación para depurar un Asset compute de trabajo mediante wskdebug (sin audio)
Asegúrese Docker Desktop y las imágenes de Docker compatibles están instalados y en ejecución
Cierre todas las instancias activas en ejecución de la herramienta de desarrollo.
Implemente el código más reciente utilizando aio app deploy
y registre el nombre de la acción implementada (nombre entre la variable [...]
). Se usa para actualizar el launch.json
en el paso 8.
ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]...
Inicio de una nueva instancia de la herramienta de desarrollo de Asset compute mediante el comando npx adobe-asset-compute devtool
En Código VS, pulse el icono Depurar en el panel de navegación izquierdo
launch.json
archivo.launch.json
en el editor.Agregue la siguiente configuración de objeto JSON a la configurations
matriz:
{
"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
}
Seleccione el nuevo wskdebug en la lista desplegable
Toque el verde Ejecutar a la izquierda de wskdebug lista desplegable
Apertura /actions/worker/index.js
y pulse a la izquierda de los números de línea para añadir puntos de interrupción 1. Acceda a la ventana del explorador web de la herramienta de desarrollo de Asset compute que se abre en el paso 6
Toque . Ejecutar para ejecutar el trabajador
Vuelva al código VS, para /actions/worker/index.js
y paso a paso por el código
Para salir de la herramienta de desarrollo depurable, pulse Ctrl-C
en el terminal que se ejecuta npx adobe-asset-compute devtool
en el paso 6
AEM as a Cloud Service aprovecha los trabajadores de Asset compute a través de Perfiles de procesamiento invocarlos directamente en Adobe I/O Runtime. Dado que estas invocaciones no implican desarrollo local, sus ejecuciones no se pueden depurar con herramientas locales como Herramienta de desarrollo de Asset compute o wskdebug. En su lugar, la CLI de Adobe I/O se puede utilizar para recuperar registros del trabajador ejecutado en un espacio de trabajo en particular en Adobe I/O Runtime.
Asegúrese de que la variable variables de entorno específicas del espacio de trabajo se establecen mediante AIO_runtime_namespace
y AIO_runtime_auth
, según el espacio de trabajo que requiera depuración.
Desde la línea de comandos, ejecute aio app logs
Si el espacio de trabajo está experimentando un tráfico intenso, expanda el número de registros de activación a través de la variable --limit
indicador:
$ aio app logs --limit=25
El más reciente (hasta el --limit
) activations logs se devuelven como resultado del comando para su revisión.