Résolution des erreurs de chargement de ressources et de métadonnées provoquées par des caractères non pris en charge dans les noms de fichier AEM

AEM Assets applique une validation stricte des noms de ressources et de dossiers. De ce fait, les chargements, les mises à jour de métadonnées, les actions de publication et les réponses de l’API échouent lorsqu’un nom de fichier contient un caractère non pris en charge tel que *, /, :, #, %, & ou {}. L’interface utilisateur d’AEM bloque purement et simplement ces caractères, tandis que les imports en bloc et l’ingestion d’API les assainissent ou les codent en URL silencieusement, et que les systèmes en aval tels que Dynamic Media ou l’API Assets renvoient ensuite les chemins rompus. La raison en est qu’AEM, le référentiel JCR sous-jacent et les systèmes connectés ne peuvent pas stocker ni traiter ces caractères en toute sécurité. Le changement de nom des ressources affectées afin qu’elles n’utilisent que des caractères autorisés et leur réingestion restaure les chargements, les modifications de métadonnées, la publication et le nettoyage des chemins d’accès aux API.

Description description

Environnements :

  • Adobe Experience Manager as a Cloud Service
  • Adobe Experience Manager Managed Services
  • Adobe Experience Manager 6.5 (sur site)
  • AEM Assets, l’importateur en bloc et l’API Assets
  • Dynamic Media (Scene7) et Asset Share Commons

Problème/Symptômes :

  • Le chargement de l’interface utilisateur d’AEM échoue avec le message Les caractères « */:[ `]` |#%{}?& ne sont pas autorisés dans le nom de fichier ».
  • La fonction Gérer la publication renvoie Les ressources sélectionnées ne sont pas valides lorsqu’un nom de fichier contient #.
  • Les métadonnées ne peuvent pas être mises à jour sur les ressources dont les noms de fichier contiennent & ou d’autres caractères non valides.
  • Échec des relations de ressources avec Impossible de mettre à jour la relation en raison de caractères spéciaux dans les noms de ressources.
  • L’importateur en bloc ou l’importateur S3 renomme les ressources en ajoutant des caractères d’échappement, tels qu’une apostrophe en %27 ou % en %25.
  • L’API Assets renvoie des chemins d’accès corrompus où un caractère non pris en charge décode en ?, par exemple un exposant et le fait de devenir ?.

Cause principale :

AEM, le référentiel JCR sous-jacent et les systèmes en aval tels que Dynamic Media et l’API Assets ne peuvent pas stocker ni traiter en toute sécurité les noms de ressources contenant certains caractères. L’interface utilisateur d’AEM applique la validation côté client, tandis que l’importation en bloc et l’ingestion d’API appliquent l’assainissement JCR et les règles de codage d’URL. Les caractères non pris en charge entraînent des échecs d’ingestion, des échecs de mise à jour des métadonnées, des problèmes de publication et des réponses d’API rompues.

Comment confirmer

  1. Vérifiez le nom de fichier par rapport à la liste des caractères interdits pour votre variante AEM. Le message d’erreur de l’interface utilisateur affiche les caractères non valides : * / : [ \ ] | # % { } ? & ;= pour AEM as a Cloud Service et le même jeu pour AEM 6.5.
  2. Déterminez le mode d’ingestion de la ressource : chargement manuel de l’interface utilisateur, importation S3, importateur en masse, gestionnaire de packages ou API. Les chargements manuels échouent immédiatement si les caractères ne sont pas valides, S3 et les imports en bloc les assainissent silencieusement et le gestionnaire de packages contourne la validation.

Résolution resolution

Pour résoudre ce problème, procédez comme suit :

  1. Renommez la ressource pour supprimer les caractères non pris en charge. Dans l’interface utilisateur d’AEM, sélectionnez la ressource, ouvrez Propriétés et renommez-la, ou chargez à nouveau la ressource avec un nom de fichier assaini qui utilise uniquement des caractères autorisés. Réessayez l’action qui a échoué, qu’il s’agisse de la mise à jour des métadonnées, de la publication ou de la relation.
  2. Pour les problèmes en bloc affectant des centaines ou des milliers de ressources, appliquez un changement de nom systématique. Définissez une convention de nommage assainie (remplacez & par « and », supprimez # et remplacez les espaces par des tirets), puis ingérez à nouveau les fichiers corrigés dans AEM ou exécutez un script d’automatisation dans le système source ou la gestion des ressources numériques en amont pour assainir les noms avant le chargement. Recherchez les ressources non valides précédemment et confirmez les noms mis à jour.
  3. Validation des intégrations en aval. Confirmez-vous que les noms assainis résolvent les problèmes avec les miniatures et téléchargements Asset Share Commons, les chemins d’accès aux API Assets qui ne s’affichent plus ? , ainsi que les workflows de chargement et de recherche Dynamic Media. Testez les flux de recherche, d’appels d’API et de publication.
  4. Confirmez le correctif. Chargez à nouveau la ressource avec le nom de fichier assaini et vérifiez qu’elle est chargée sans avertissement de validation, que les métadonnées sont enregistrées, que la fonction Gérer la publication s’exécute sans l’erreur Les ressources sélectionnées ne sont pas valides et que l’API Assets renvoie un chemin d’accès sans ? caractères.

Si le problème persiste

Contactez l’assistance Adobe si les chargements, les modifications de métadonnées ou les publications échouent toujours après avoir assaini les noms de fichier, si les réponses de l’API affichent un formatage de chemin d’accès incorrect pour les noms de fichier contenant uniquement des caractères autorisés ou si l’importateur en bloc se comporte de manière incohérente dans les environnements. Indiquez les noms de fichier exacts, la méthode de chargement, les URL d’environnement, les messages d’erreur et les captures d’écran.

Lecture connexe

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