Depurar un trabajador de Asset compute

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.

Registro

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:

  • De aio app run, los registros se imprimen en el estándar out y la variable Herramienta de desarrollo Registros de activación
    la aplicación aio ejecuta console.log(...)
  • De aio app test, registros imprimir en /build/test-results/test-worker/test.log
    aio app test console.log(...)
  • Uso wskdebug, registra las instrucciones impresas en la consola de depuración de código VS (Ver > Consola de depuración), salida estándar
    wskdebug console.log(...)
  • Uso aio app logs, las instrucciones de registro se imprimen en la salida del registro de activación

Depuración remota mediante el depurador adjunto

ADVERTENCIA

Usar 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)

  1. Asegúrese wskdebug y ngrok los módulos npm están instalados

  2. Asegúrese Docker Desktop y las imágenes de Docker compatibles están instalados y en ejecución

  3. Cierre todas las instancias activas en ejecución de la herramienta de desarrollo.

  4. 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]...
    
  5. Inicio de una nueva instancia de la herramienta de desarrollo de Asset compute mediante el comando npx adobe-asset-compute devtool

  6. En Código VS, pulse el icono Depurar en el panel de navegación izquierdo

    • Si se le solicita, pulse crear un archivo launch.json > Node.js para crear un launch.json archivo.
    • Si no, toque el Engranaje a la derecha del Programa de Launch para abrir el launch.json en el editor.
  7. 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
    }
    
  8. Seleccione el nuevo wskdebug en la lista desplegable

  9. Toque el verde Ejecutar a la izquierda de wskdebug lista desplegable

  10. 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

  11. Toque . Ejecutar para ejecutar el trabajador

  12. Vuelva al código VS, para /actions/worker/index.js y paso a paso por el código

  13. 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

Acceso a los registros desde Adobe I/O Runtime

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.

  1. 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.

  2. 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

  3. El más reciente (hasta el --limit) activations logs se devuelven como resultado del comando para su revisión.

    registros de aplicaciones de aio

Solución de problemas

En esta página