Le chargement des ressources échoue lors de l’utilisation des API Asset Manager dans Adobe Experience Manager as a Cloud Service

Le chargement des ressources échoue lorsque les intégrations utilisent des API intégrées à JVM telles que com.day.cq.dam.api.AssetManager.createAsset. Ces API sont obsolètes et ne sont pas prises en charge pour les chargements binaires dans Adobe Experience Manager as a Cloud Service. Le chargement de fichiers binaires dans la JVM AEM est traité comme un antimodèle cloud. Pour résoudre ce problème, migrez vers le workflow Chargement binaire direct ou utilisez l’importation en bloc pour l’ingestion de ressources.

Description description

Environnement

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

Problème/Symptômes

  • Indicateur de rapport BPA unsupported.asset.api
  • Utilisation de com.day.cq.dam.api.AssetManager.createAsset ou d’API similaires
  • Tentatives de chargement de ressources exécutées dans la JVM AEM
  • Avertissements indiquant que le chargement des ressources ne doit pas s’exécuter dans la JVM Experience Manager
  • Les avertissements du développeur indiquent que les chargements de ressources ne doivent pas s’exécuter dans la JVM Experience Manager

Résolution resolution

  1. Recherchez dans votre base de code com.day.cq.dam.api.AssetManager.createAsset, createOrReplaceAsset et d’autres méthodes de création de ressources qui écrivent des fichiers binaires dans AEM.

  2. Vérifiez que l’indicateur BPA ou l’avertissement de l’IDE référence ces API, par exemple unsupported.asset.api

  3. Si vous ne parvenez pas à localiser le code affecté, collectez les chemins d’accès aux fichiers et à la sortie BPA et partagez-les avec l’assistance Adobe.

  4. Utilisez l’embranchement de diagnostic ci-dessous :

    • Si vous chargez des ressources à partir d’un système externe, utilisez API de chargement binaire direct (initiateupload → binary upload → complete-upload).
    • Si vous effectuez une ingestion de gros volume, utilisez AEM Bulk Import à partir de l’espace de stockage dans le cloud (S3, Azure, GCP, Dropbox, OneDrive).
    • Si une ingestion planifiée périodique est requise, utilisez Adobe App Builder + l’API HTTP AEM Assets.
  5. Vérifiez que votre cas d’utilisation ne nécessite pas de chargements de ressources dans JVM.

  6. Générez des informations d’identification de serveur à serveur OAuth dans Adobe Developer Console.

  7. Attribuez le profil de produit approprié aux informations d’identification.

  8. Générez un jeton d’accès et vérifiez que Adobe Developer Console renvoie un jeton porteur valide.

  9. Si la génération de jeton échoue, vérifiez que le profil de produit affecté inclut des autorisations d’écriture.

  10. Connectez-vous au service de création d’AEM et accédez à Outils > sécurité > Utilisateurs.

  11. Recherchez l’utilisateur du compte technique qui apparaît après le premier appel de l’API.

  12. Vérifiez que l’utilisateur appartient à un groupe d’utilisateurs de services avec des autorisations jcr:read et rep:write sur /content/dam.

  13. Cochez Outils > Sécurité > Autorisations pour le groupe d’utilisateurs Services.

  14. Lancez le workflow Chargement binaire direct .

  15. Chargez le fichier binaire directement vers l’emplacement d’espace de stockage renvoyé.

  16. Complétez la demande de chargement pour démarrer le traitement des ressources AEM.

  17. Accédez aux Fichiers > Assets > votre dossier cible et vérifiez que la ressource apparaît dans le dossier cible.

  18. Si le chargement échoue, collectez les payloads de la requête d’API et de la réponse et partagez-les avec l’assistance Adobe.

  19. Déplacez les ressources vers un fournisseur de stockage dans le cloud pris en charge et configurez l’importation en bloc dans AEM

  20. Vérifiez que les ressources importées apparaissent dans AEM.

Lecture connexe

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