Asset-Upload schlägt bei Verwendung von Asset Manager-APIs in Adobe Experience Manager as a Cloud Service fehl

Der Asset-Upload schlägt fehl, wenn Integrationen In-JVM-APIs wie com.day.cq.dam.api.AssetManager.createAsset verwenden. Diese APIs sind veraltet und werden für binäre Uploads in Adobe Experience Manager as a Cloud Service nicht mehr unterstützt. Das Hochladen von Binärdateien in der AEM JVM wird als Cloud-Anti-Muster behandelt. Um dieses Problem zu beheben, migrieren Sie zum Workflow „Direkter binärer Upload“ oder verwenden Sie den Massenimport für die Asset-Aufnahme.

Beschreibung description

Umgebung

  • Adobe Experience Manager as a Cloud Service
  • Adobe Developer App-Builder
  • AEM Dynamic Media

Problem/Symptome

  • BPA-Berichtsflag unsupported.asset.api
  • Verwendung von com.day.cq.dam.api.AssetManager.createAsset oder ähnlichen APIs
  • Asset-Upload-Versuche innerhalb von AEM JVM
  • Warnungen, die den Asset-Upload starten, dürfen nicht in Experience Manager JVM ausgeführt werden
  • Entwicklerwarnungen geben an, dass Asset-Uploads nicht innerhalb der Experience Manager JVM ausgeführt werden dürfen

Lösung resolution

  1. Durchsuchen Sie Ihre Codebasis nach com.day.cq.dam.api.AssetManager.createAsset, createOrReplaceAsset und anderen Methoden zur Asset-Erstellung, die Binärdateien in AEM schreiben.

  2. Vergewissern Sie sich, dass das BPA-Flag oder die IDE-Warnung auf diese APIs verweist, z. B. unsupported.asset.api

  3. Wenn Sie den betroffenen Code nicht finden können, erfassen Sie die BPA-Ausgabe- und -Dateipfade und geben Sie sie für den Adobe-Support frei.

  4. Verwenden Sie die folgende Diagnoseverzweigung:

    • Wenn Sie Assets von einem externen System hochladen, verwenden Sie Direct Binary Upload API (initiateupload → binary upload → complete-upload).
    • Verwenden Sie bei der Aufnahme großer Volumina den Massenimport von AEM aus dem Cloud-Speicher (S3, Azure, GCP, Dropbox, OneDrive).
    • Wenn eine periodische geplante Aufnahme erforderlich ist, verwenden Sie die Adobe App Builder + AEM Assets HTTP API.
  5. Vergewissern Sie sich, dass Ihr Anwendungsfall keine In-JVM-Asset-Uploads erfordert.

  6. Generieren von OAuth-Server-zu-Server-Anmeldeinformationen in Adobe Developer Console.

  7. Weisen Sie den Anmeldeinformationen das richtige Produktprofil zu.

  8. Erstellen Sie ein Zugriffstoken und überprüfen Sie, ob Adobe Developer Console ein gültiges Bearer-Token zurückgibt.

  9. Wenn die Token-Generierung fehlschlägt, stellen Sie sicher, dass das zugewiesene Produktprofil Schreibberechtigungen enthält.

  10. Melden Sie sich bei AEM Author an und navigieren Sie zu Tools > Security > Users.

  11. Suchen Sie den Benutzer des technischen Kontos, der nach dem ersten API-Aufruf angezeigt wird.

  12. Vergewissern Sie sich, dass der Benutzer zu einer Benutzergruppe für Services gehört, die über jcr:read- und rep:write für /content/dam verfügt.

  13. Überprüfen Sie Tools > Sicherheit > Berechtigungen für die Services-Benutzergruppe.

  14. Starten Sie den Workflow „Direkter binärer Upload“.

  15. Laden Sie die Binärdatei direkt in den zurückgegebenen Cloud-Speicherort hoch.

  16. Schließen Sie die Upload-Anfrage ab, um die AEM-Asset-Verarbeitung zu starten.

  17. Navigieren Sie zu Assets >-Dateien > Ihrem Zielordner und stellen Sie sicher, dass das Asset im Zielordner angezeigt wird.

  18. Wenn der Upload fehlschlägt, erfassen Sie die API-Anfrage- und Antwort-Payloads und geben Sie sie für den Adobe-Support frei.

  19. Verschieben Sie die Assets in einen unterstützten Cloud-Speicheranbieter und konfigurieren Sie Massenimport in AEM

  20. Überprüfen Sie, ob die importierten Assets in AEM angezeigt werden.

Verwandtes Lesen

recommendation-more-help
experience-cloud-kcs-help-kbarticles