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.createAssetoder ä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
-
Durchsuchen Sie Ihre Codebasis nach
com.day.cq.dam.api.AssetManager.createAsset,createOrReplaceAssetund anderen Methoden zur Asset-Erstellung, die Binärdateien in AEM schreiben. -
Vergewissern Sie sich, dass das BPA-Flag oder die IDE-Warnung auf diese APIs verweist, z. B. unsupported.asset.api
-
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.
-
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.
- Wenn Sie Assets von einem externen System hochladen, verwenden Sie Direct Binary Upload API (
-
Vergewissern Sie sich, dass Ihr Anwendungsfall keine In-JVM-Asset-Uploads erfordert.
-
Generieren von OAuth-Server-zu-Server-Anmeldeinformationen in Adobe Developer Console.
-
Weisen Sie den Anmeldeinformationen das richtige Produktprofil zu.
-
Erstellen Sie ein Zugriffstoken und überprüfen Sie, ob Adobe Developer Console ein gültiges Bearer-Token zurückgibt.
-
Wenn die Token-Generierung fehlschlägt, stellen Sie sicher, dass das zugewiesene Produktprofil Schreibberechtigungen enthält.
-
Melden Sie sich bei AEM Author an und navigieren Sie zu Tools
>Security>Users. -
Suchen Sie den Benutzer des technischen Kontos, der nach dem ersten API-Aufruf angezeigt wird.
-
Vergewissern Sie sich, dass der Benutzer zu einer Benutzergruppe für Services gehört, die über
jcr:read- undrep:writefür/content/damverfügt. -
Überprüfen Sie Tools
>Sicherheit>Berechtigungen für die Services-Benutzergruppe. -
Starten Sie den Workflow „Direkter binärer Upload“.
-
Laden Sie die Binärdatei direkt in den zurückgegebenen Cloud-Speicherort hoch.
-
Schließen Sie die Upload-Anfrage ab, um die AEM-Asset-Verarbeitung zu starten.
-
Navigieren Sie zu Assets
>-Dateien>Ihrem Zielordner und stellen Sie sicher, dass das Asset im Zielordner angezeigt wird. -
Wenn der Upload fehlschlägt, erfassen Sie die API-Anfrage- und Antwort-Payloads und geben Sie sie für den Adobe-Support frei.
-
Verschieben Sie die Assets in einen unterstützten Cloud-Speicheranbieter und konfigurieren Sie Massenimport in AEM
-
Überprüfen Sie, ob die importierten Assets in AEM angezeigt werden.
Verwandtes Lesen
- Anwendungsfälle, APIs und Referenzmaterial für Adobe Experience Manager Assets-Entwickler
- Generieren von Zugriffstoken für Server-seitige APIs
- Fehlerbehebung bei AEM AssetsProblemen
- Fehlerbehebung bei AEM Assets- und Forms-Problemen
- Einführung in Assets as a Cloud Service für Digital Asset Management in AEM