Solução de problemas de extensibilidade do Asset Compute
A seguir há um índice de problemas e erros comuns, juntamente com as resoluções, que podem ser encontrados ao desenvolver e implantar trabalhadores de Asset compute personalizados para o AEM Assets.
Desenvolver develop
A representação é retornada parcialmente desenhada/corrompida rendition-returned-partially-drawn-or-corrupt
-
Erro: a representação é renderizada de forma incompleta (quando uma imagem) ou está corrompida e não pode ser aberta.
-
Causa: a função
renditionCallback
do trabalhador está sendo encerrada antes que a representação possa ser completamente gravada emrendition.path
. -
Solução: revise o código de trabalho personalizado e verifique se todas as chamadas assíncronas foram tornadas síncronas usando
await
.
Ferramenta de desenvolvimento development-tool
Arquivo Console.json ausente do projeto do Asset Compute missing-console-json
-
Erro: Erro: arquivos necessários ausentes na validação (
.../node_modules/@adobe/asset-compute-client/lib/integrationConfiguration.js:XX:YY
) em setupAssetCompute assíncrono (.../node_modules/@adobe/asset-compute-devtool/src/assetComputeDevTool.js:XX:YY
) -
Causa: O arquivo
console.json
está ausente da raiz do projeto do Asset compute -
Solução: baixe um novo
console.json
do projeto Adobe I/O- Em console.adobe.io, abra o projeto Adobe I/O que o projeto Asset Compute está configurado para usar
- Toque no botão Baixar na parte superior direita
- Salve o arquivo baixado na raiz do projeto do Asset Compute usando o nome de arquivo
console.json
Recuo YAML incorreto em manifest.yml incorrect-yaml-indentation
- Erro: YAMLException: recuo incorreto de uma entrada de mapeamento na linha X, coluna Y:(via padrão fora do comando
aio app run
) - Causa: os arquivos Yaml são sensíveis a espaços em branco. É provável que seu recuo esteja incorreto.
- Solução: revise
manifest.yml
e verifique se todo o recuo está correto.
O limite memorySize está definido como muito baixo memorysize-limit-is-set-too-low
- Erro: OpenWhiskError do Servidor de Desenvolvimento Local: PUT https://adobeioruntime.net/api/v1/namespaces/xxx-xxx-xxx/actions/xxx-0.0.1/__secured_workeroverwrite=true Retornou HTTP 400 (Solicitação Incorreta) —> "O conteúdo da solicitação estava malformado:falha de requisito: memória 64 MB abaixo do limite permitido de 134217728 B"
- Causa: Um limite de
memorySize
para o trabalhador nomanifest.yml
foi definido abaixo do limite mínimo permitido, conforme relatado pela mensagem de erro em bytes. - Solução: revise os limites de
memorySize
emmanifest.yml
e verifique se todos eles são maiores que o limite mínimo permitido.
A Ferramenta de desenvolvimento não pode ser iniciada devido à falta de private.key missing-private-key
- Erro: Servidor de Desenvolvimento LocalErro: arquivos necessários ausentes em validatePrivateKeyFile… (pelo padrão fora do comando
aio app run
) - Causa: O valor
ASSET_COMPUTE_PRIVATE_KEY_FILE_PATH
no arquivo.env
, não aponta paraprivate.key
ouprivate.key
não é legível pelo usuário atual. - Solução: revise o valor
ASSET_COMPUTE_PRIVATE_KEY_FILE_PATH
no arquivo.env
e verifique se ele contém o caminho completo e absoluto para oprivate.key
no sistema de arquivos.
Lista suspensa de arquivos do Source incorreta source-files-dropdown-incorrect
A Ferramenta de Desenvolvimento do Asset Compute pode entrar em um estado em que extrai dados obsoletos, e é mais visível na lista suspensa Arquivo Source exibindo itens incorretos.
- Erro: a lista suspensa de arquivos do Source exibe itens incorretos.
- Causa: O estado obsoleto do navegador em cache causa
- Solução: no navegador, limpe completamente o "estado do aplicativo" da guia do navegador, o cache do navegador, o armazenamento local e o service worker.
Parâmetro de consulta devToolToken ausente ou inválido missing-or-invalid-devtooltoken-query-parameter
- Erro: Notificação "Não Autorizada" na Ferramenta de Desenvolvimento do Asset Compute
- Causa:
devToolToken
está ausente ou é inválido - Solução: feche a janela do navegador da Ferramenta de Desenvolvimento do Asset Compute, encerre todos os processos da Ferramenta de Desenvolvimento iniciados pelo comando
aio app run
e reinicie a Ferramenta de Desenvolvimento (usandoaio app run
).
Não foi possível remover os arquivos de origem unable-to-remove-source-files
-
Erro: Não há como remover arquivos de origem adicionados da interface de Ferramentas de Desenvolvimento
-
Causa: esta funcionalidade não foi implementada
-
Solução: faça logon no seu provedor de armazenamento na nuvem usando as credenciais definidas em
.env
. Localize o contêiner usado pelas Ferramentas de Desenvolvimento (também especificado em.env
), navegue até a pasta origem e exclua todas as imagens de origem. Talvez seja necessário executar as etapas descritas na lista suspensa de arquivos do Source incorreta se os arquivos de origem excluídos continuarem a ser exibidos na lista suspensa, pois eles podem ser armazenados em cache localmente no "estado do aplicativo" das Ferramentas de Desenvolvimento.
Testar test
Nenhuma representação gerada durante a execução do teste test-no-rendition-generated
-
Erro: Falha: nenhuma representação gerada.
-
Causa: o trabalhador falhou ao gerar uma representação devido a um erro inesperado, como um erro de sintaxe do JavaScript.
-
Solução: Revise o
test.log
da execução de teste em/build/test-results/test-worker/test.log
. Localize a seção nesse arquivo correspondente ao caso de teste com falha e verifique se há erros.
O teste gera representação incorreta, causando falha no teste tests-generates-incorrect-rendition
-
Erro: Falha: a representação 'rendition.xxx' não foi a esperada.
-
Causa: o trabalhador gerou uma representação que não era a mesma que a
rendition.<extension>
fornecida no caso de teste.- Se o arquivo esperado
rendition.<extension>
não for criado exatamente da mesma maneira que a representação gerada localmente no caso de teste, o teste pode falhar, pois pode haver alguma diferença nos bits. Por exemplo, se o trabalhador do Asset Compute alterar o contraste usando APIs e o resultado esperado for criado ajustando o contraste no Adobe Photoshop CC, os arquivos poderão parecer iguais, mas variações secundárias nos bits poderão ser diferentes.
- Se o arquivo esperado
-
Solução: revise a saída da representação do teste navegando até
/build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>
, e compare-a com o arquivo de representação esperado no caso de teste. Para criar um ativo esperado exato:- Use a Ferramenta de desenvolvimento para gerar uma representação, validar se ela está correta e usá-la como o arquivo de representação esperado
- Ou valide o arquivo gerado pelo teste em
/build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>
, confirme se ele está correto e use-o como o arquivo de representação esperado
Depurar
O depurador não anexa debugger-does-not-attach
- Erro: Erro ao processar lançamento: Erro: Não foi possível conectar ao destino de depuração em…
- Causa: o Docker Desktop não está sendo executado no sistema local. Verifique isso revisando o Console de depuração do código VS (Exibir > Console de depuração), confirmando que esse erro foi relatado.
- Solução: inicie o Docker Desktop e confirme se as imagens do Docker necessárias estão instaladas.
Os pontos de interrupção não estão pausando breakpoints-no-pausing
- Erro: ao executar o trabalho do Asset Compute a partir da Ferramenta de Desenvolvimento habilitada para depuração, o Código VS não pausa nos pontos de interrupção.
Depurador de código VS não anexado vs-code-debugger-not-attached
- Causa: o depurador de código do VS foi interrompido/desconectado.
- Solução: reinicie o depurador de código do VS e verifique se ele se anexa observando o console Saída de depuração do código do VS (Exibir > Console de depuração)
Depurador de código VS anexado após o início da execução do trabalho vs-code-debugger-attached-after-worker-execution-began
- Causa: o depurador de código do VS não foi anexado antes de tocar em Executar na Ferramenta de desenvolvimento.
- Solução: verifique se o depurador foi anexado revisando o Console de Depuração do Código VS (Exibir > Console de Depuração) e execute novamente o trabalhador do Asset Compute na Ferramenta de Desenvolvimento.
O trabalhador atinge o tempo limite durante a depuração worker-times-out-while-debugging
- Erro: o Console de Depuração relata "O tempo limite da ação será de -XXX milissegundos" ou a pré-visualização de representação da Ferramenta de Desenvolvimento do Asset Compute gira indefinidamente ou
- Causa: o tempo limite do trabalhador conforme definido em manifest.yml foi excedido durante a depuração.
- Solução: aumente temporariamente o tempo limite do trabalhador no manifest.yml ou acelere as atividades de depuração.
Não é possível encerrar o processo do depurador cannot-terminate-debugger-process
-
Erro:
Ctrl-C
na linha de comando não encerra o processo do depurador (npx adobe-asset-compute devtool
). -
Causa: um erro em
@adobe/aio-cli-plugin-asset-compute
1.3.x, resulta noCtrl-C
não ser reconhecido como um comando de terminação. -
Solução: atualize
@adobe/aio-cli-plugin-asset-compute
para a versão 1.4.1+code language-none $ aio update
Implantar deploy
Representação personalizada ausente do ativo no AEM custom-rendition-missing-from-asset
- Erro: os ativos novos e reprocessados foram processados com êxito, mas a representação personalizada está ausente
Perfil de processamento não aplicado à pasta antecessora
- Causa: o ativo não existe em uma pasta com o Perfil de Processamento que usa o trabalhador personalizado
- Solução: aplique o perfil de processamento a uma pasta ancestral do ativo
Perfil de processamento substituído por perfil de processamento inferior
- Causa: o ativo existe abaixo de uma pasta com o Perfil de Processamento do trabalhador personalizado aplicado, no entanto, um Perfil de Processamento diferente que não usa o trabalhador do cliente foi aplicado entre essa pasta e o ativo.
- Solução: Combine ou reconcilie os dois Perfis de Processamento e remova o Perfil de Processamento intermediário
O processamento de ativos falha no AEM asset-processing-fails
- Erro: Selo de falha de processamento de ativo exibido no ativo
- Causa: Erro na execução do trabalho personalizado
- Solução: siga as instruções em depurando ativações do Adobe I/O Runtime usando
aio app logs
.