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 AEM iniciadas desde el as a Cloud Service de la.

Registro

La forma más básica de depurar los trabajadores de la Asset compute es la tradicional console.log(..) en el código de trabajador. El 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 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 en la salida estándar y la Herramienta de desarrollo Registros de activación
    aplicación aio ejecutar console.log(...)
  • Desde aio app test, los registros se imprimen en /build/test-results/test-worker/test.log
    aio app test console.log(...)
  • Uso de wskdebug, las instrucciones de registros se imprimen en la consola de depuración de código de VS (Ver > Consola de depuración), salida estándar
    wskdebug console.log(...)
  • Uso de 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 wskdebug npm module, admite 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 recorrer paso a paso el código.

Pulsación para depurar un trabajador de Asset compute mediante wskdebug (sin audio)

  1. Asegurar wskdebug y ngrok Los módulos npm están instalados

  2. Asegurar Docker Desktop y las imágenes compatibles de Docker 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 registrar el nombre de la acción implementada (nombre entre las variables [...]). Se utiliza para actualizar el launch.json en el paso 8.

    code language-none
    ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]...
    
  5. Inicie 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 cree un archivo launch.json > Node.js para crear una nueva launch.json archivo.
    • De lo contrario, pulse el botón Engranaje a la derecha del icono Iniciar programa desplegable para abrir el existente launch.json en el editor.
  7. Agregue la siguiente configuración de objeto JSON a configurations matriz:

    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. Toca el verde Ejecutar a la izquierda de wskdebug desplegable

  10. Abrir /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. Vaya de nuevo a Código VS, a /actions/worker/index.js y revise paso a paso el código

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

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

AEM El as a Cloud Service aprovecha los trabajadores de Asset compute mediante perfiles de procesamiento al invocarlos 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 variables de entorno específicas de workspace se configuran mediante AIO_runtime_namespace y AIO_runtime_auth, basado en el espacio de trabajo que requiere depuración.

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

    • Si el espacio de trabajo está sufriendo mucho tráfico, amplíe el número de registros de activación mediante el --limit indicador:

      $ aio app logs --limit=25

  3. El más reciente (hasta el --limit) los registros de activaciones 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