Depurar um trabalhador do Asset Compute

Os trabalhadores do Asset Compute podem ser depurados de várias maneiras, desde declarações de log de depuração simples, ao código VS anexado como um depurador remoto, até registros de ativação no Adobe I/O Runtime iniciados pelo AEM as a Cloud Service.

Logs

A forma mais básica de depurar os trabalhadores do Asset Compute usa declarações console.log(..) tradicionais no código do trabalhador. O console objeto JavaScript é um objeto implícito e global, de modo que não há necessidade de importá-lo ou exigi-lo, pois está sempre presente em todos os contextos.

Essas instruções de log estão disponíveis para revisão de forma diferente com base em como o trabalhador do Asset Compute é executado:

  • A partir de aio app run, os registros imprimem para o padrão e os Logs de Ativação da Ferramenta de Desenvolvimento
    aplicativo aio executar console.log(..)
  • De aio app test, registra a impressão em /build/test-results/test-worker/test.log
    aio app test console.log(..)
  • Usando wskdebug, as instruções de log são impressas no Console de Depuração do Código VS (Exibir > Console de Depuração), padrão
    wskdebug console.log(...)
  • Usando aio app logs, as instruções de log são impressas na saída do log de ativação

Depuração remota via depurador anexado

AVISO

Use o Microsoft Visual Studio Code 1.48.0 ou superior para compatibilidade com wskdebug

O módulo wskdebug npm suporta a anexação de um depurador aos trabalhadores do Asset Compute, incluindo a capacidade de definir pontos de interrupção no Código VS e percorrer o código.

Click-through da depuração de um trabalhador do Asset Compute usando wskdebug (Sem áudio)

  1. Verifique se os módulos wskdebug e ngrok npm estão instalados

  2. Verifique se Docker Desktop e as imagens Docker de suporte estão instaladas e em execução

  3. Feche todas as instâncias em execução ativas da Ferramenta de desenvolvimento.

  4. Implante o código mais recente usando aio app deploy e registre o nome da ação implantada (nome entre [...]). Isso será usado para atualizar o launch.json na etapa 8.

    ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]...
    
  5. Inicie uma nova instância da Ferramenta de desenvolvimento do Asset Compute usando o comando npx adobe-asset-compute devtool

  6. No Código VS, toque no ícone Depurar na navegação à esquerda

    • Se solicitado, toque em criar um arquivo launch.json > Node.js para criar um novo arquivo launch.json.
    • Caso contrário, toque no ícone Gear à direita da lista suspensa Iniciar programa para abrir o launch.json existente no editor.
  7. Adicione a seguinte configuração de objeto JSON à 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. Selecione o novo wskdebug no menu suspenso

  9. Toque no botão verde Executar à esquerda da lista suspensa wskdebug

  10. Abra /actions/worker/index.js e toque à esquerda dos números de linha para adicionar pontos de quebra 1. Navegue até a janela do navegador Web da Ferramenta de Desenvolvimento do Asset Compute aberta na etapa 6

  11. Toque no botão Executar para executar o trabalhador

  12. Navegue de volta ao Código VS, até /actions/worker/index.js e percorra o código

  13. Para sair da Ferramenta de Desenvolvimento Depurável, toque em Ctrl-C no terminal que executou o comando npx adobe-asset-compute devtool na etapa 6

Acessar logs do Adobe I/O Runtime

O AEM as a Cloud Service aproveita os trabalhadores do Asset Compute por meio de Perfis de processamento, chamando-os diretamente na Adobe I/O Runtime. Como essas invocações não envolvem desenvolvimento local, suas execuções não podem ser depuradas usando ferramentas locais, como a Ferramenta de desenvolvimento do Asset Compute ou a wskdebug. Em vez disso, a CLI do Adobe I/O pode ser usada para buscar logs do trabalhador executado em um espaço de trabalho específico no Adobe I/O Runtime.

  1. Verifique se as variáveis de ambiente específicas do espaço de trabalho estão definidas por AIO_runtime_namespace e AIO_runtime_auth, com base no espaço de trabalho que requer depuração.

  2. Na linha de comando, execute aio app logs

    • Se o espaço de trabalho estiver com tráfego intenso, expanda o número de logs de ativação por meio do sinalizador --limit :

      $ aio app logs --limit=25

  3. Os registros de ativações mais recentes (até o --limit fornecido) serão retornados como a saída do comando para revisão.

    logs do aplicativo aio

Resolução de problemas

Nesta página

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now