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é logs de ativação no Adobe I/O Runtime iniciados a partir do AEM as a Cloud Service.
Logs
A forma mais básica de depuração de trabalhadores de Asset compute usa o modelo console.log(..)
demonstrativos no código do trabalhador. A variável console
O objeto JavaScript é um objeto global implícito, portanto, não há necessidade de importá-lo ou solicitá-lo, pois está sempre presente em todos os contextos.
Estas instruções de log estão disponíveis para revisão de forma diferente com base em como o worker do Asset compute é executado:
- De
aio app run
, registra a impressão em uma saída padrão e o Ferramentas de desenvolvimento Logs de ativação
- De
aio app test
, registros imprimir em/build/test-results/test-worker/test.log
- Usar
wskdebug
, as instruções de registro são impressas no Console de depuração do código VS (Exibir > Console de depuração), padrão
- Usar
aio app logs
, instruções de log são impressas na saída do log de ativação
Depuração remota via depurador anexado
A variável wskdebug O módulo npm suporta a anexação de um depurador a trabalhadores do Asset compute, incluindo a capacidade de definir pontos de interrupção no Código VS e percorrer o código.
Click-through de depuração de um funcionário do Asset compute usando wskdebug (sem áudio)
-
Assegurar Desktop Docker e as imagens Docker de suporte estão instalados e em execução
-
Feche todas as instâncias ativas em execução da Ferramenta de desenvolvimento.
-
Implante o código mais recente usando o
aio app deploy
e registre o nome da ação implantada (nome entre a variável[...]
). Isso é usado para atualizar olaunch.json
na etapa 8.code language-none ℹ Info: Deploying package [wkndAemAssetCompute-0.0.1]...
-
Inicie uma nova instância da Ferramenta de desenvolvimento do Asset compute usando o comando
npx adobe-asset-compute devtool
-
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
launch.json
arquivo. - Senão, toque no Engrenagem ícone à direita do Iniciar programa lista suspensa para abrir o existente
launch.json
no editor.
- Se solicitado, toque em criar um arquivo launch.json > Node.js para criar um novo
-
Adicione a seguinte configuração de objeto JSON à
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 }
-
Selecione o novo wskdebug na lista suspensa
-
Toque no verde Executar botão à esquerda de wskdebug lista suspensa
-
Abertura
/actions/worker/index.js
e toque à esquerda dos números de linha para adicionar pontos de interrupção 1. Navegue até a janela do navegador da Web da Ferramenta de desenvolvimento do Asset compute aberta na etapa 6 -
Toque no Executar botão para executar o trabalhador
-
Volte para o Código VS, para
/actions/worker/index.js
e passe pelo código -
Para sair da Ferramenta de desenvolvimento depurável, toque em
Ctrl-C
no terminal que executounpx adobe-asset-compute devtool
comando na etapa 6
Acessar logs do Adobe I/O Runtime aio-app-logs
O AEM as a Cloud Service aproveita os trabalhadores do Asset compute por meio de perfis de processamento chamando-os diretamente no 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 Asset compute Development Tool ou wskdebug. Em vez disso, a CLI do Adobe I/O pode ser usada para buscar registros do operador executado em um espaço de trabalho específico no Adobe I/O Runtime.
-
Assegure a variáveis de ambiente específicas do espaço de trabalho são definidos via
AIO_runtime_namespace
eAIO_runtime_auth
, com base no espaço de trabalho que requer depuração. -
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 da
--limit
sinalizador:$ aio app logs --limit=25
-
-
O mais recente (até o fornecido
--limit
) os logs de ativação são retornados como a saída do comando para revisão.