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 como Cloud Service.
La forma más básica de depuración de los Assets computes de trabajo utiliza las instrucciones tradicionales console.log(..)
en el código de trabajo. El objeto JavaScript console
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 modo estándar y los Registros de activación de la herramienta de desarrolloaio app test
, los registros se imprimen en /build/test-results/test-worker/test.log
wskdebug
, las instrucciones de registro se imprimen en la consola de depuración de código de VS (Ver > Consola de depuración), 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
El módulo npm wskdebug admite la adjuntació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 de que los módulos npm wskdebug y ngrok estén instalados
Asegúrese de que Docker Desktop y las imágenes de Docker compatibles estén instaladas 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 [...]
). Se utilizará para actualizar el launch.json
en el paso 8.
ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]...
Inicie 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 de depuración en el panel de navegación izquierdo
launch.json
.launch.json
existente en el editor.Agregue la siguiente configuración de objeto JSON a la matriz configurations
:
{
"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
Pulse el botón verde Run a la izquierda del menú desplegable wskdebug
Abra /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
Pulse el botón Ejecutar para ejecutar el trabajador
Vuelva al código VS, vaya a /actions/worker/index.js
y siga los pasos del código
Para salir de la herramienta de desarrollo depurable, pulse Ctrl-C
en el terminal que ejecuta el comando 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 al 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 las 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 mediante el indicador --limit
:
$ aio app logs --limit=25
Los registros de activaciones más recientes (hasta el --limit
) proporcionados se devolverán como resultado del comando para su revisión.