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.

    Die Ausgabedarstellung wird nur teilweise gezeichnet zurückgegeben

  • Ursache: Die renditionCallback-Funktion des Sekundärs wird beendet, bevor die Ausgabedarstellung vollständig in rendition.path geschrieben wird.

  • Lösung: Überprüfen Sie den benutzerdefinierten Sekundär-Code und stellen Sie sicher, dass alle asynchronen Aufrufe mithilfe von await synchron 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.json fehlt im Stammverzeichnis des Asset Compute-Projekts.

  • Lösung: Laden Sie ein neues console.json-Formular aus Ihrem Adobe I/O-Projekt herunter:

    1. Öffnen Sie in console.adobe.io das Adobe I/O-Projekt, für das das Asset Compute-Projekt konfiguriert ist.
    2. Klicken Sie oben rechts auf die Schaltfläche Herunterladen.
    3. Speichern Sie die heruntergeladene Datei unter dem Dateinamen console.json im 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.yml und 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 Datei manifest.yml wurde unterhalb des erlaubten Mindestschwellenwerts gesetzt, wie von der Fehlermeldung in Byte gemeldet.
  • Lösung: Überprüfen Sie die memorySize-Limits in der Datei manifest.yml und 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_PATH in der .env-Datei verweist nicht auf private.key oder private.key ist von der aktuellen Benutzerin bzw. dem aktuellen Benutzer nicht lesbar.
  • Lösung: Überprüfen Sie den Wert ASSET_COMPUTE_PRIVATE_KEY_FILE_PATH in der .env-Datei und stellen Sie sicher, dass er den vollständigen, absoluten Pfad zu private.key auf Ihrem Dateisystem enthält.

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: devToolToken fehlt 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 run initiiert wurden, und starten Sie das Entwicklungs-Tool neu (mithilfe von aio 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 .env definierten 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.

    Microsoft Azure Blob Storage

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.log unter /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.

    Fehlerbehebung – keine Ausgabedarstellung generiert

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.
  • 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-C in der Befehlszeile beenden (npx adobe-asset-compute devtool).

  • Ursache: Ein Fehler in @adobe/aio-cli-plugin-asset-compute 1.3.x führt dazu, dass Ctrl-C nicht als Befehl zum Beenden erkannt wird.

  • Lösung: Aktualisieren Sie @adobe/aio-cli-plugin-asset-compute auf Version 1.4.1+.

    code language-none
    $ aio update
    

    Fehlerbehebung – aio-Aktualisierung

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