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.
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:
aio app run
, registra a impressão em uma saída padrão e o Ferramentas de desenvolvimento Logs de ativaçãoaio app test
, registros imprimir em /build/test-results/test-worker/test.log
wskdebug
, as instruções de registro são impressas no Console de depuração do código VS (Exibir > Console de depuração), padrãoaio app logs
, instruções de log são impressas na saída do log de ativaçãoUse o Microsoft Visual Studio Code 1.48.0 ou posterior para compatibilidade com wskdebug
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 o launch.json
na etapa 8.
ℹ 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
launch.json
arquivo.launch.json
no editor.Adicione a seguinte configuração de objeto JSON à configurations
matriz:
{
"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 executou npx adobe-asset-compute devtool
comando na etapa 6
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
e AIO_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.