Felsöka Asset Compute utbyggbarhet
Nedan följer ett index över vanliga problem och fel, samt lösningar som kan uppstå när du utvecklar och distribuerar anpassade Asset Compute-arbetare för AEM Assets.
Utveckla develop
Återgivningen returneras delvis ritad/skadad rendition-returned-partially-drawn-or-corrupt
-
Fel: Återgivningen återges ofullständigt (när en bild) eller är skadad och kan inte öppnas.
-
Orsak: Arbetarens
renditionCallback-funktion avslutas innan återgivningen kan skrivas tillrendition.path. -
Upplösning: Granska den anpassade arbetskoden och se till att alla asynkrona anrop görs synkrona med
await.
Utvecklingsverktyg development-tool
Console.json-filen saknas i Asset Compute-projektet missing-console-json
-
Fel: Fel: Nödvändiga filer saknas vid validate (
.../node_modules/@adobe/asset-compute-client/lib/integrationConfiguration.js:XX:YY) vid async setupAssetCompute (.../node_modules/@adobe/asset-compute-devtool/src/assetComputeDevTool.js:XX:YY) -
Orsak: Filen
console.jsonsaknas i Asset Compute-projektets rot -
Upplösning: Hämta ett nytt
console.jsonfrån ditt Adobe I/O-projekt- I console.adobe.io öppnar du det Adobe I/O-projekt som Asset Compute-projektet är konfigurerat att använda
- Tryck på knappen Hämta i det övre högra hörnet
- Spara den hämtade filen i roten för ditt Asset Compute-projekt med filnamnet
console.json
Ogiltig YAML-indrag i manifest.yml incorrect-yaml-indentation
- Fel: YAMLException: felaktigt indrag för en mappningspost på rad X, kolumn Y:(via standard ut från
aio app run-kommando) - Orsak: Yaml-filer är känsliga med vitt mellanrum, det är troligt att indraget är felaktigt.
- Upplösning: Granska
manifest.ymloch se till att allt indrag är korrekt.
gränsen för memorySize är för låg memorysize-limit-is-set-too-low
- Fel: OpenWhiskError för lokal Dev-server: PUT https://adobeioruntime.net/api/v1/namespaces/xxx-xxx-xxx/actions/xxx-0.0.1/__secured_workeroverwrite=true Returned HTTP 400 (Ogiltig begäran) —> "Innehållet i begäran hade fel format:krav misslyckades: minne 64 MB under tillåtet tröskelvärde på 134217728 B"
- Orsak: En
memorySize-gräns för arbetaren imanifest.ymlangavs till under det lägsta tillåtna tröskelvärdet som rapporterades av felmeddelandet i byte. - Upplösning: Granska
memorySize-gränserna imanifest.ymloch se till att alla är stora än det lägsta tillåtna tröskelvärdet.
Utvecklingsverktyget kan inte starta eftersom private.key saknas missing-private-key
- Fel: Local Dev ServerError: Nödvändiga filer saknas vid validatePrivateKeyFile… (via kommandot
aio app runsom standard ut) - Orsak: Värdet
ASSET_COMPUTE_PRIVATE_KEY_FILE_PATHi filen.envpekar inte påprivate.keyellerprivate.keykan inte läsas av den aktuella användaren. - Upplösning: Granska värdet
ASSET_COMPUTE_PRIVATE_KEY_FILE_PATHi filen.envoch kontrollera att den innehåller den fullständiga, absoluta sökvägen tillprivate.keyi filsystemet.
Felaktig listruta för Source-filer source-files-dropdown-incorrect
Asset Compute Development Tool kan försättas i ett läge där inaktuella data hämtas och är mest märkbart i listrutan Source-fil med felaktiga objekt.
- Fel: Felaktiga objekt visas i listrutan med Source-filer.
- Orsak: Inaktuellt cachelagrat webbläsartillstånd orsakar
- Upplösning: I webbläsaren rensar du webbläsarflikens "programtillstånd", webbläsarens cache, lokal lagring och servicearbetare.
Frågeparametern devToolToken saknas eller är ogiltig missing-or-invalid-devtooltoken-query-parameter
- Fel: Meddelande om obehörig i Asset Compute Development Tool
- Orsak:
devToolTokensaknas eller är ogiltig - Upplösning: Stäng webbläsarfönstret för Asset Compute Development Tool, avsluta alla processer som körs med Development Tool som initierats via kommandot
aio app runoch starta om Development Tool (medaio app run).
Det går inte att ta bort källfiler unable-to-remove-source-files
-
Fel: Det går inte att ta bort tillagda källfiler från utvecklingsverktygets användargränssnitt
-
Orsak: Den här funktionen har inte implementerats
-
Upplösning: Logga in på din molnlagringsleverantör med de autentiseringsuppgifter som definieras i
.env. Leta upp behållaren som används av utvecklingsverktygen (anges också i.env), navigera till mappen source och ta bort alla källbilder. Du kan behöva utföra de steg som beskrivs i Source-filerna är felaktiga om de borttagna källfilerna fortfarande visas i listrutan eftersom de kan cachas lokalt i utvecklingsverktygets "programtillstånd".
Testa test
Ingen återgivning genererades under testkörningen test-no-rendition-generated
-
Fel: Fel: Ingen återgivning genererades.
-
Orsak: Det gick inte att generera en återgivning på grund av ett oväntat fel, till exempel ett syntaxfel i JavaScript.
-
Upplösning: Granska testkörningens
test.logpå/build/test-results/test-worker/test.log. Leta reda på avsnittet i den här filen som motsvarar det misslyckade testfallet och granska felen.
Testet genererar felaktig återgivning vilket gör att testet misslyckas tests-generates-incorrect-rendition
-
Fel: Fel: Återgivningen 'rendition.xxx' är inte som förväntad.
-
Orsak: Arbetaren returnerade en återgivning som inte var densamma som
rendition.<extension>som angavs i testfallet.- Om den förväntade
rendition.<extension>-filen inte skapas på exakt samma sätt som den lokalt genererade återgivningen i testfallet, kan testet misslyckas eftersom det kan finnas vissa skillnader i bitarna. Om Asset Compute-arbetaren till exempel ändrar kontrasten med hjälp av API:er och det förväntade resultatet skapas genom att justera kontrasten i Adobe Photoshop CC, kan filerna se likadana ut, men mindre bitvariationer kan vara annorlunda.
- Om den förväntade
-
Upplösning: Granska återgivningsutdata från testet genom att navigera till
/build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>och jämföra det med den förväntade återgivningsfilen i testfallet. Så här skapar du en exakt förväntad resurs:- Använd utvecklingsverktyget för att generera en återgivning, verifiera att den är korrekt och använd den som den förväntade återgivningsfilen
- Eller validera den testgenererade filen på
/build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>, verifiera att den är korrekt och använd den som den förväntade återgivningsfilen
Felsök
Felsökaren är inte kopplad debugger-does-not-attach
- Fel: Det gick inte att starta: Fel: Det gick inte att ansluta till felsökningsmålet på…
- Orsak: Docker Desktop körs inte på det lokala systemet. Verifiera detta genom att granska VS Code Debug Console (Visa > Debug Console) och bekräfta att felet har rapporterats.
- Upplösning: Starta Docker Desktop och kontrollera att nödvändiga Docker-bilder är installerade.
Brytpunkter pausas inte breakpoints-no-pausing
- Fel: När Asset Compute-arbetaren körs från det felsökningsbara utvecklingsverktyget pausas inte VS-koden vid brytpunkter.
Felsökning för VS-kod är inte bifogad vs-code-debugger-not-attached
- Orsak: Felsökaren för VS-kod har stoppats/kopplats från.
- Upplösning: Starta om felsökaren för VS-kod och verifiera den genom att titta på konsolen för VS-kodsfelsökning (Visa > Felsökningskonsol)
VS-kodfelsökning bifogad efter att körningen av arbetaren påbörjats vs-code-debugger-attached-after-worker-execution-began
- Orsak: VS-kodsfelsökaren anslöts inte innan användaren knackade på Kör i utvecklingsverktyget.
- Upplösning: Kontrollera att felsökaren har bifogats genom att granska VS-kodens felsökningskonsol (Visa > Felsökningskonsol) och kör sedan om Asset Compute-arbetaren från utvecklingsverktyget.
Arbetarens timeout vid felsökning worker-times-out-while-debugging
- Fel: Felsökningskonsolen rapporterar "Åtgärd kommer att timeout i -XXX millisekunder" eller Återgivningsförhandsvisningen i Asset Compute Development Tool snurrar oändligt eller
- Orsak: Arbetarens timeout som definieras i manifest.yml överskreds under felsökning.
- Upplösning: Öka arbetarens timeout tillfälligt i manifest.yml eller snabba upp felsökningsaktiviteterna.
Det går inte att avsluta felsökningsprocessen cannot-terminate-debugger-process
-
Fel:
Ctrl-Cpå kommandoraden avslutar inte felsökningsprocessen (npx adobe-asset-compute devtool). -
Orsak: Ett fel i
@adobe/aio-cli-plugin-asset-compute1.3.x gör attCtrl-Cinte känns igen som ett avslutningskommando. -
Upplösning: Uppdatera
@adobe/aio-cli-plugin-asset-computetill version 1.4.1+code language-none $ aio update
Distribuera deploy
Anpassad återgivning saknas i resurs i AEM custom-rendition-missing-from-asset
- Fel: Ny och ombearbetad resursprocess lyckades, men den anpassade återgivningen saknas
Bearbetningsprofilen används inte för den överordnade mappen
- Orsak: Resursen finns inte i en mapp med bearbetningsprofilen som använder den anpassade arbetaren
- Upplösning: Använd bearbetningsprofilen på en överordnad mapp för resursen
Bearbetningsprofil ersatt av en lägre bearbetningsprofil
- Orsak: Resursen finns under en mapp där den anpassade arbetarbearbetningsprofilen används, men en annan bearbetningsprofil som inte använder kundarbetaren har tillämpats mellan den mappen och resursen.
- Upplösning: Kombinera, eller på annat sätt stämma av, de två bearbetningsprofilerna och ta bort den mellanliggande bearbetningsprofilen
Resursbearbetning misslyckas i AEM asset-processing-fails
- Fel: Märket för resursbearbetning misslyckades visas för resursen
- Orsak: Ett fel uppstod när den anpassade arbetaren kördes
- Upplösning: Följ anvisningarna för felsökning av Adobe I/O Runtime-aktiveringar med
aio app logs.