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 pelo AEM as a Cloud Service.
Logs
A forma mais básica de depuração de trabalhadores de Asset compute usa instruções console.log(..)
tradicionais no código de trabalho. O objeto JavaScript console
é um objeto global implícito, portanto não há necessidade de importá-lo ou solicitá-lo, pois ele 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
, os logs são impressos no padrão e os 🔗 Logs de Ativação da Ferramenta de Desenvolvimento
- De
aio app test
, logs são impressos em/build/test-results/test-worker/test.log
- Usando o
wskdebug
, as instruções de logs são impressas no Console de Depuração do Código VS (Exibir > Console de Depuração), padrão
- 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
O módulo wskdebug npm oferece suporte à 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 trabalhador de Asset compute usando wskdebug (Sem áudio)
-
Verifique se os módulos wskdebug e ngrok npm estão instalados
-
Verifique se o Docker Desktop e as imagens do 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
aio app deploy
e registre o nome da ação implantada (nome entre o[...]
). Isto é 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 arquivo
launch.json
. - Senão, toque no ícone de engrenagem à direita da lista suspensa Iniciar programa para abrir o
launch.json
existente no editor.
- Se solicitado, toque em criar um arquivo launch.json > Node.js para criar um novo arquivo
-
Adicione a seguinte configuração de objeto JSON à 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 }
-
Selecione o novo wskdebug na lista suspensa
-
Toque no botão verde Executar à esquerda da lista suspensa wskdebug
-
Abra
/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 botão Executar para executar o trabalhador
-
Navegue de volta 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 executou o comandonpx adobe-asset-compute devtool
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 do Processamento de Perfis, invocando-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.
-
Verifique se as variáveis de ambiente específicas do espaço de trabalho estão definidas 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 do sinalizador
--limit
:$ aio app logs --limit=25
-
-
Os logs de ativações mais recentes (até o
--limit
fornecido) são retornados como a saída do comando para revisão.