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 como Cloud Service.

Registro

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:

  • Desde aio app run, los registros se imprimen en el modo estándar y los Registros de activación de la herramienta de desarrollo
    la aplicación aio ejecuta console.log(...)
  • Desde aio app test, los registros se imprimen en /build/test-results/test-worker/test.log
    aio app test console.log(...)
  • Con wskdebug, las instrucciones de registro se imprimen en la consola de depuración de código de VS (Ver > Consola de depuración), estándar
    wskdebug console.log(...)
  • Con 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

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)

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

  2. Asegúrese de que Docker Desktop y las imágenes de Docker compatibles estén instaladas 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 [...]). Se utilizará para actualizar el launch.json en el paso 8.

    ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]...
    
  5. Inicie 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 de depuración en el panel de navegación izquierdo

    • Si se le solicita, pulse crear un archivo launch.json > Node.js para crear un nuevo archivo launch.json.
    • De lo contrario, pulse el icono Engranaje a la derecha del menú desplegable Iniciar Programa para abrir el launch.json existente en el editor.
  7. 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
    }
    
  8. Seleccione el nuevo wskdebug en la lista desplegable

  9. Pulse el botón verde Run a la izquierda del menú desplegable wskdebug

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

  11. Pulse el botón Ejecutar para ejecutar el trabajador

  12. Vuelva al código VS, vaya a /actions/worker/index.js y siga los pasos del código

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

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

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

  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 mediante el indicador --limit :

      $ aio app logs --limit=25

  3. Los registros de activaciones más recientes (hasta el --limit) proporcionados se devolverán como resultado del comando para su revisión.

    registros de aplicaciones de aio

Solución de problemas

En esta página