Resolución de errores de carga de recursos y metadatos causados por caracteres no admitidos en los nombres de archivo de AEM

Los AEM Assets aplican una validación estricta a los nombres de recursos y carpetas, por lo que las cargas, las actualizaciones de metadatos, las acciones de publicación y las respuestas de API fallan cuando un nombre de archivo contiene un carácter no admitido como *, /, :, #, %, & o {}. La interfaz de usuario de AEM bloquea estos caracteres directamente, mientras que las importaciones masivas y la ingesta de API los sanean o codifican en URL de forma silenciosa y los sistemas descendentes como Dynamic Media o la API de Assets devuelven rutas rotas. La causa es que AEM, el repositorio JCR subyacente y los sistemas conectados no pueden almacenar ni procesar de forma segura esos caracteres. Al cambiar el nombre de los recursos afectados para que utilicen solo los caracteres permitidos y volver a ingerirlos, se restauran las cargas, las ediciones de metadatos, la publicación y las rutas de API limpias.

Descripción description

Entornos:

  • Adobe Experience Manager as a Cloud Service
  • Adobe Experience Manager Managed Services
  • Adobe Experience Manager 6.5 (local)
  • AEM Assets, el importador en bloque y la API de Assets
  • Dynamic Media (Scene7) y Asset Share Commons

Problema/Síntomas:

  • La carga de la IU de AEM falla con el mensaje Caracteres “*/:[ `]` |#%{}?& no se permiten en el nombre de archivo”.
  • Administrar publicación devuelve Los recursos seleccionados no son válidos cuando un nombre de archivo contiene #.
  • No se pueden actualizar los metadatos de los recursos cuyos nombres de archivo contienen u otros caracteres no válidos.
  • Error en las relaciones de recursos con No se pudo actualizar la relación debido a caracteres especiales en los nombres de recursos.
  • La importación masiva del importador o S3 cambia el nombre de los recursos mediante caracteres de escape, como un apóstrofo de %27 o % de %25.
  • La API de Assets devuelve rutas dañadas en las que un carácter no compatible se descodifica en ?, como un superíndice y se convierte en ?.

Causa principal:

AEM, el repositorio JCR subyacente y los sistemas descendentes como Dynamic Media y la API de Assets no pueden almacenar ni procesar de forma segura los nombres de recursos que contienen determinados caracteres. La interfaz de usuario de AEM aplica la validación del lado del cliente, mientras que la importación masiva y la ingesta de API aplican reglas de saneamiento JCR y codificación de URL. Los caracteres no admitidos producen errores de ingesta, errores de actualización de metadatos, problemas de publicación y respuestas de API dañadas.

Cómo confirmar

  1. Compare el nombre del archivo con la lista de caracteres prohibidos de la variante AEM. El mensaje de error de la interfaz de usuario muestra los caracteres no válidos: * / : [ \ ] | # % { } ? & ;= para AEM as a Cloud Service y el mismo conjunto para AEM 6.5.
  2. Determine cómo se incorporó el recurso: carga manual de la interfaz de usuario, importación de S3, importador por lotes, Administrador de paquetes o API. Las cargas manuales fallan inmediatamente en caracteres no válidos, las importaciones S3 y masivas las sanean silenciosamente y el Administrador de paquetes evita la validación.

Resolución resolution

Siga estos pasos para resolver el problema:

  1. Cambie el nombre del recurso para eliminar los caracteres no admitidos. En la interfaz de usuario de AEM, seleccione el recurso, abra Propiedades y cambie su nombre, o vuelva a cargar el recurso con un nombre de archivo saneado que solo use los caracteres permitidos. Vuelva a intentar la acción que ha fallado, ya sea la actualización de metadatos, la publicación o la relación.
  2. Para problemas masivos que afecten a cientos o miles de recursos, aplique un nombre sistemático. Defina una convención de nombres saneada: reemplace & por “y”, elimine # y reemplace los espacios con guiones, y después vuelva a ingerir los archivos corregidos en AEM o ejecute un script de automatización en el sistema de origen o DAM ascendente para sanear los nombres antes de la carga. Busque los recursos que anteriormente no eran válidos y confirme los nombres actualizados.
  3. Validar integraciones posteriores. Confirme que los nombres saneados resuelven los problemas con las miniaturas y descargas de Asset Share Commons, las rutas de API de Assets que ya no se muestran. caracteres y flujos de trabajo de carga y búsqueda de Dynamic Media. Pruebe los flujos de búsqueda, llamadas de API y publicación.
  4. Confirme la corrección. Vuelva a cargar el recurso con el nombre de archivo saneado y compruebe que se carga sin una advertencia de validación, que los metadatos se guardan, que Administrar publicación se ejecuta sin el error Los recursos seleccionados no son válidos y que la API de Assets devuelve una ruta de acceso sin ? caracteres.

Si el problema persiste

Póngase en contacto con el equipo de Asistencia de Adobe si las cargas, las ediciones de metadatos o las publicaciones siguen fallando después de sanear los nombres de archivo, si las respuestas de API muestran un formato de ruta incorrecto para los nombres de archivo que solo contienen caracteres permitidos o si el importador en bloque se comporta de forma incoherente en todos los entornos. Proporcione los nombres de archivo exactos, el método de carga, las direcciones URL del entorno, los mensajes de error y las capturas de pantalla.

Lectura relacionada

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