Fehlerbehebung bei der Asset Compute-Erweiterung
Im Folgenden finden Sie ein Verzeichnis häufiger Probleme und Fehler sowie Lösungen, die bei der Entwicklung und Bereitstellung von benutzerdefinierten Asset Compute-Sekundären für AEM Assets auftreten können.
Entwickeln develop
Ausgabedarstellung wird teilweise/beschädigt zurückgegeben rendition-returned-partially-drawn-or-corrupt
-
Fehler: Die Ausgabedarstellung wird (bei einem Bild) nicht vollständig gerendert oder ist beschädigt und kann nicht geöffnet werden.
-
Ursache: Die
renditionCallback-Funktion des Sekundärs wird beendet, bevor die Ausgabedarstellung vollständig inrendition.pathgeschrieben wird. -
Lösung: Überprüfen Sie den benutzerdefinierten Sekundär-Code und stellen Sie sicher, dass alle asynchronen Aufrufe mithilfe von
awaitsynchron gemacht werden.
Entwicklungs-Tool development-tool
Datei „Console.json“ fehlt im Asset Compute-Projekt missing-console-json
-
Fehler: Fehler: Fehlende erforderliche Dateien bei Validierung (
.../node_modules/@adobe/asset-compute-client/lib/integrationConfiguration.js:XX:YY) bei async setupAssetCompute (.../node_modules/@adobe/asset-compute-devtool/src/assetComputeDevTool.js:XX:YY) -
Ursache: Die Datei
console.jsonfehlt im Stammverzeichnis des Asset Compute-Projekts. -
Lösung: Laden Sie ein neues
console.json-Formular aus Ihrem Adobe I/O-Projekt herunter:- Öffnen Sie in console.adobe.io das Adobe I/O-Projekt, für das das Asset Compute-Projekt konfiguriert ist.
- Klicken Sie oben rechts auf die Schaltfläche Herunterladen.
- Speichern Sie die heruntergeladene Datei unter dem Dateinamen
console.jsonim Stammverzeichnis Ihres Asset Compute-Projekts.
Falscher YAML-Einzug in manifest.yml incorrect-yaml-indentation
- Fehler: YAMLException: bad indentation of a mapping entry at line X, column Y: (über die Standardausgabe des Befehls
aio app run). - Ursache: Bei YAML-Dateien werden Leerzeichen berücksichtigt. Der Einzug ist wahrscheinlich falsch.
- Lösung: Überprüfen Sie die Datei
manifest.ymlund stellen Sie sicher, dass alle Einzüge korrekt sind.
memorySize-Limit ist zu niedrig eingestellt memorysize-limit-is-set-too-low
- Fehler: Local Dev Server OpenWhiskError: PUT https://adobeioruntime.net/api/v1/namespaces/xxx-xxx-xxx/actions/xxx-0.0.1/__secured_workeroverwrite=true Returned HTTP 400 (Bad Request) --> "The request content was malformed:requirement failed: memory 64 MB below allowed threshold of 134217728 B".
- Ursache: Ein
memorySize-Limit für den Sekundär in der Dateimanifest.ymlwurde unterhalb des erlaubten Mindestschwellenwerts gesetzt, wie von der Fehlermeldung in Byte gemeldet. - Lösung: Überprüfen Sie die
memorySize-Limits in der Dateimanifest.ymlund stellen sicher, dass alle den erlaubten Mindestschwellenwert überschreiten.
Entwicklungs-Tool kann nicht gestartet werden, da der private Schlüssel fehlt missing-private-key
- Fehler: Local Dev ServerError: Missing required files at validatePrivateKeyFile… (über Standardausgabe des Befehls
aio app run). - Ursache: Der Wert
ASSET_COMPUTE_PRIVATE_KEY_FILE_PATHin der.env-Datei verweist nicht aufprivate.keyoderprivate.keyist von der aktuellen Benutzerin bzw. dem aktuellen Benutzer nicht lesbar. - Lösung: Überprüfen Sie den Wert
ASSET_COMPUTE_PRIVATE_KEY_FILE_PATHin der.env-Datei und stellen Sie sicher, dass er den vollständigen, absoluten Pfad zuprivate.keyauf Ihrem Dateisystem enthält.
Dropdown-Liste mit den Quelldateien falsch source-files-dropdown-incorrect
Das Asset Compute-Entwicklungs-Tool kann in einen Status eintreten, in dem veraltete Daten abgerufen werden. Deutlich erkennbar wird dies dadurch, dass in der Dropdown-Liste mit den Quelldateien falsche Elemente angezeigt werden.
- Fehler: Das Dropdown-Menü mit den Quelldateien zeigt falsche Elemente an.
- Ursache: Dies ist auf einen veralteten, im Cache gespeicherten Browser-Status zurückzuführen.
- Lösung: Löschen Sie in Ihrem Browser vollständig den „Anwendungsstatus“ der Browser-Registerkarte, den Browser-Cache, den lokalen Speicher und den Dienst-Sekundär.
Fehlender oder ungültiger devToolToken-Abfrageparameter missing-or-invalid-devtooltoken-query-parameter
- Fehler: Benachrichtigung „Nicht autorisiert“ im Asset Compute-Entwicklungs-Tool.
- Ursache:
devToolTokenfehlt oder ist ungültig. - Lösung: Schließen Sie das Browser-Fenster des Asset Compute-Entwicklungs-Tools, beenden Sie alle laufenden Entwicklungs-Tool-Prozesse, die über den Befehl
aio app runinitiiert wurden, und starten Sie das Entwicklungs-Tool neu (mithilfe vonaio app run).
Quelldateien können nicht entfernt werden unable-to-remove-source-files
-
Fehler: Es gibt keine Möglichkeit, hinzugefügte Quelldateien aus der Benutzeroberfläche der Entwicklungs-Tools zu entfernen.
-
Ursache: Diese Funktionalität wurde nicht implementiert.
-
Lösung: Melden Sie sich mit den in
.envdefinierten Anmeldeinformationen bei Ihrem Cloud-Speicheranbieter an. Suchen Sie den Container, der von den Entwicklungs-Tools verwendet wird (ebenfalls angegeben unter.env), navigieren Sie zum Quellordner und löschen Sie alle Quellbilder. Ggf. müssen Sie die unter Dropdown-Liste mit den Quelldateien falsch beschriebenen Schritte ausführen, wenn die gelöschten Quelldateien weiterhin im Dropdown-Menü angezeigt werden, da sie lokal im „Anwendungsstatus“ der Entwicklungs-Tools zwischengespeichert sein können.
Testen test
Keine Ausgabedarstellung während der Testausführung generiert test-no-rendition-generated
-
Fehler: Keine Ausgabedarstellung generiert.
-
Ursache: Der Sekundär konnte aufgrund eines unerwarteten Fehlers wie einem JavaScript-Syntaxfehler keine Ausgabedarstellung generieren.
-
Lösung: Überprüfen Sie nach der Testausführung
test.logunter/build/test-results/test-worker/test.log. Suchen Sie den Abschnitt in dieser Datei, der dem fehlerhaften Testfall entspricht, und überprüfen Sie auf Fehler.
Test generiert falsche Ausgabedarstellung, wodurch der Test fehlschlägt tests-generates-incorrect-rendition
-
Fehler: Failure: Rendition 'rendition.xxx' not as expected.
-
Ursache: Der Sekundär gibt eine Ausgabedarstellung aus, die nicht mit
rendition.<extension>des Testfalls übereinstimmt.- Wenn die erwartete Datei
rendition.<extension>nicht exakt auf die gleiche Weise erstellt wird wie die lokal generierte Ausgabedarstellung im Testfall, kann der Test fehlschlagen, da es einen gewissen Bit-Unterschied geben kann. Wenn der Asset Compute-Sekundär beispielsweise den Kontrast mithilfe von APIs ändert und das erwartete Ergebnis durch Anpassung des Kontrasts in Adobe Photoshop CC erstellt wird, können die Dateien zwar gleich aussehen, sich aber durch geringfügige Bit-Varianten unterscheiden.
- Wenn die erwartete Datei
-
Lösung: Überprüfen Sie die Ausgabedarstellung vom Test, indem Sie zu
/build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>navigieren und mit der erwarteten Ausgabedarstellungsdatei im Testfall vergleichen. Wählen Sie eine der folgenden Möglichkeiten, um ein Asset zu erstellen, das genau den Erwartungen entspricht:- Verwenden Sie das Entwicklungs-Tool, um eine Ausgabedarstellung zu generieren, sie zu überprüfen und als erwartete Ausgabedarstellungsdatei zu verwenden.
- Oder validieren Sie die durch Tests generierte Datei unter
/build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>, überprüfen Sie, ob sie korrekt ist, und verwenden Sie diese als erwartete Ausgabedarstellungsdatei.
Debuggen
Debugger nicht angehängt debugger-does-not-attach
- Fehler: Error processing launch: Error: Could not connect ot debug target at…
- Ursache: Docker Desktop wird nicht auf dem lokalen System ausgeführt. Überprüfen Sie dies, indem Sie die VS Code-Debugging-Konsole („Ansicht“ > „Debugging-Konsole“) überprüfen und bestätigen, dass dieser Fehler gemeldet wird.
- Lösung: Starten Sie Docker Desktop und bestätigen Sie, dass die erforderlichen Docker-Bilder installiert sind.
Breakpoints werden nicht angehalten breakpoints-no-pausing
- Fehler: Beim Ausführen des Asset Compute-Sekundär über das Debug-fähige Entwicklungs-Tool wird VS-Code nicht an Breakpoints angehalten.
VS-Code-Debugger nicht angehängt vs-code-debugger-not-attached
- Ursache: Der VS-Code-Debugger wurde angehalten/getrennt.
- Lösung: Starten Sie den VS-Code-Debugger neu und überprüfen Sie, ob er verbunden wird, indem Sie die Konsole für das Debugging der VS-Code-Ausgabe („Ansicht“ > „Debugging-Konsole“) aufrufen.
VS-Code-Debugger nach Beginn der Sekundär-Ausführung angehängt vs-code-debugger-attached-after-worker-execution-began
- Ursache: Der VS-Code-Debugger wurde nicht vor dem Klicken auf Ausführen im Entwicklungs-Tool angehängt.
- Lösung: Stellen Sie sicher, dass der Debugger angehängt ist, indem Sie die VS-Code-Debugging-Konsole („Ansicht“
„Debugging-Konsole“) aufrufen und dann den Asset Compute-Sekundär über das Entwicklungs-Tool erneut ausführen.
Sekundär-Timeout beim Debugging worker-times-out-while-debugging
- Fehler: Die Debugging-Konsole meldet „Action will timeout in -XXX milliseconds“ oder die Ausgabedarstellungsvorschau des Asset Compute-Entwicklungs-Tools läuft in einer Endlosschleife.
- Ursache: Das Sekundär-Timeout gemäß Definition in manifest.yml wird beim Debugging überschritten.
- Lösung: Erhöhen Sie vorübergehend den Wert für das Sekundär-Timeout in manifest.yml oder beschleunigen Sie das Debugging von Aktivitäten.
Debugger-Prozess kann nicht beendet werden cannot-terminate-debugger-process
-
Fehler: Der Debugger-Prozess lässt sich nicht durch
Ctrl-Cin der Befehlszeile beenden (npx adobe-asset-compute devtool). -
Ursache: Ein Fehler in
@adobe/aio-cli-plugin-asset-compute1.3.x führt dazu, dassCtrl-Cnicht als Befehl zum Beenden erkannt wird. -
Lösung: Aktualisieren Sie
@adobe/aio-cli-plugin-asset-computeauf Version 1.4.1+.code language-none $ aio update
Bereitstellen deploy
Benutzerdefinierte Ausgabedarstellung fehlt in einem Asset in AEM custom-rendition-missing-from-asset
- Fehler: Neue und erneut verarbeitete Assets werden erfolgreich verarbeitet, aber die benutzerdefinierte Ausgabe fehlt.
Das Verarbeitungsprofil wird nicht auf den Vorgängerordner angewendet
- Ursache: Das Asset ist nicht unter einem Ordner mit dem Verarbeitungsprofil vorhanden, das den benutzerdefinierten Sekundär verwendet.
- Lösung: Wenden Sie das Verarbeitungsprofil auf einen Vorgängerordner des Assets an.
Das Verarbeitungsprofil wird durch ein niedrigeres Verarbeitungsprofil ersetzt
- Ursache: Das Asset befindet sich unter einem Ordner, auf den das Verarbeitungsprofil mit benutzerdefiniertem Sekundär angewendet wurde. Zwischen diesem Ordner und dem Asset wurde jedoch ein anderes Verarbeitungsprofil angewendet, das den benutzerdefinierten Sekundär nicht verwendet.
- Lösung: Kombinieren Sie die beiden Verarbeitungsprofile oder stimmen Sie sie anderweitig ab und entfernen Sie das Zwischen-Verarbeitungsprofil.
Asset-Verarbeitung schlägt in AEM fehl asset-processing-fails
- Fehler: Ein Badge „Asset-Verarbeitung fehlgeschlagen“ wird für das Asset angezeigt.
- Ursache: Bei der Ausführung des benutzerdefinierten Sekundärs ist ein Fehler aufgetreten.
- Lösung: Befolgen Sie die Anweisungen zum Debugging von Adobe I/O Runtime-Aktivierungen mithilfe von
aio app logs.