Depuración de un trabajador de Asset compute

Los trabajadores de assets computes se pueden depurar de varias formas, 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 depurar los trabajadores de Asset compute usa las instrucciones console.log(..) tradicionales 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 revisarse de forma diferente en función de cómo se ejecute el trabajador de Asset compute:

  • Desde aio app run, los registros se imprimen hasta la salida estándar y los registros de activación de la herramienta de desarrollo
    consola de ejecución de aplicación aio.log(...)
  • Desde aio app test, los registros se imprimen a /build/test-results/test-worker/test.log
    consola de prueba de aplicación aio.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), salida 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

WARNING
Use Microsoft Visual Studio Code 1.48.0 o posterior para comprobar la compatibilidad con wskdebug

El módulo wskdebug npm, admite la asociación de un depurador a los trabajadores de Asset compute, incluida la capacidad de establecer puntos de interrupción en código VS y recorrer paso a paso el código.

Clic en la depuración de un trabajador de Asset compute mediante wskdebug (sin audio)

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

  2. Asegúrese de que 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 [...]). Se usa para actualizar launch.json en el paso 8.

    code language-none
    ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]...
    
  5. Iniciar una nueva instancia de la herramienta de desarrollo de Assets computes con 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 nuevo archivo launch.json.
    • De lo contrario, pulsa el icono Engranaje a la derecha de la lista desplegable Programa de lanzamiento para abrir el(la) launch.json existente(a) en el editor.
  7. Agregue la siguiente configuración de objeto JSON a la matriz configurations:

    code language-json
    {
        "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 Ejecutar 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 agregar los puntos de interrupción 1. Vaya a la ventana del explorador web de la herramienta de desarrollo de Assets computes que se abrió en el paso 6

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

  12. Vuelva al código VS, a /actions/worker/index.js y desplácese por el código

  13. Para salir de la herramienta de desarrollo de depuración, pulse Ctrl-C en el terminal que ejecutó el comando npx adobe-asset-compute devtool en el paso 6

Acceder a registros desde Adobe I/O Runtime aio-app-logs

AEM as a Cloud Service aprovecha los Assets computes a través de los perfiles de procesamiento invocándolos directamente en Adobe I/O Runtime. Debido a que estas invocaciones no implican desarrollo local, sus ejecuciones no se pueden depurar con herramientas locales como Herramienta de desarrollo de Assets computes 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 determinado en Adobe I/O Runtime.

  1. Asegúrese de que las variables de entorno específicas del espacio de trabajo se establecen a través de AIO_runtime_namespace y AIO_runtime_auth, en función del espacio de trabajo que requiere depuración.

  2. Desde la línea de comandos, ejecute aio app logs

    • Si el área de trabajo está sufriendo mucho tráfico, expanda el número de registros de activación a través del indicador --limit:

      $ aio app logs --limit=25

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

    registros de aplicaciones aio

Resolución de problemas

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69