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.

    A representação foi retornada parcialmente desenhada

  • Causa: a função renditionCallback do trabalhador está sendo encerrada antes que a representação possa ser completamente gravada em rendition.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

    1. Em console.adobe.io, abra o projeto Adobe I/O que o projeto Asset Compute está configurado para usar
    2. Toque no botão Baixar na parte superior direita
    3. 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 no manifest.yml foi definido abaixo do limite mínimo permitido, conforme relatado pela mensagem de erro em bytes.
  • Solução: revise os limites de memorySize em manifest.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 para private.key ou private.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 o private.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 (usando aio 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.

    Armazenamento de Blobs do Microsoft Azure

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.

    Solução de problemas - Nenhuma representação gerada

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.
  • 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 no Ctrl-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
    

    Solução de problemas - atualização da aio

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.
recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69