Adobe Experience Manager Assets casos de uso para desarrolladores, API y material de referencia

El artículo contiene recomendaciones, materiales de referencia y recursos para desarrolladores de Assets como Cloud Service. Incluye un nuevo módulo de carga de recursos, una referencia de API y información sobre la compatibilidad proporcionada en los flujos de trabajo posteriores al procesamiento.

Experience Manager Assets API y operaciones

Assets as a Cloud Service proporciona varias API para interactuar mediante programación con recursos digitales. Cada API admite casos de uso específicos, como se menciona en la tabla siguiente. La interfaz de usuario Assets, la aplicación de escritorio Experience Manager y Adobe Asset Link admiten todas o algunas de las operaciones.

ATENCIÓN

Algunas API siguen existiendo, pero no se admiten de forma activa (indicada con una ×). En la medida de lo posible, no utilice estas API.

Nivel de asistencia Descripción
Compatible
× No se admite. No usar.
- No disponible
Caso de uso aem-upload API de AEM/Sling/ JCRJava servicio de asset compute Assets API HTTP Servlets GET / POST de Sling GraphQL (vista previa)
binario original
Crear original × - × × -
Leer original - × -
Actualizar original × × × -
Eliminar original - - -
Copiar original - - -
Mover original - - -
Metadatos
Crear metadatos - -
Leer metadatos - - -
Actualizar metadatos - -
Eliminar metadatos - -
Copiar metadatos - - -
Mover metadatos - - -
Fragmentos de contenido (CF)
Crear CF - - - -
Leer CF - - -
Actualizar CF - - - -
Eliminar CF - - - -
Copiar CF - - - -
Mover CF - - - -
Versiones
Crear versión - - - -
Leer versión - - - - -
Eliminar versión - - - - -
Carpetas
Crear carpeta - - -
Leer carpeta - - - -
Eliminar carpeta - - -
Copiar carpeta - - -
Mover carpeta - - -

Carga de recursos

En Experience Manager como Cloud Service, puede cargar directamente los recursos en el almacenamiento en la nube mediante la API HTTP. Los pasos para cargar un archivo binario son:

  1. Enviar una solicitud HTTP. Informa a la implementación Experience Manager de su intención de cargar un nuevo binario.
  2. POST el contenido del binario a uno o más URI proporcionados por la solicitud de inicio.
  3. Envíe una solicitud HTTP para informar al servidor de que el contenido del binario se cargó correctamente.

Descripción general del protocolo de carga binaria directa

El método proporciona una gestión escalable y más eficaz de las cargas de recursos. Las diferencias con respecto a Experience Manager 6.5 son:

  • Los binarios no pasan por Experience Manager, que ahora simplemente está coordinando el proceso de carga con el almacenamiento en la nube binaria configurado para la implementación.
  • El almacenamiento en la nube binaria funciona con una red de entrega de contenido (CDN) o una red perimetral. Una CDN selecciona un extremo de carga más cercano a un cliente. Cuando los datos se desplazan a una distancia más corta hasta un punto final cercano, el rendimiento de carga y la experiencia del usuario mejoran, especialmente para equipos distribuidos geográficamente.
NOTA

Consulte el código de cliente para implementar este método en la biblioteca de carga de aem de código abierto.

Iniciar carga

Envíe una solicitud de POST HTTP a la carpeta deseada. Los recursos se crean o actualizan en esta carpeta. Incluya el selector .initiateUpload.json para indicar que la solicitud es iniciar la carga de un archivo binario. Por ejemplo, la ruta a la carpeta donde se debe crear el recurso es /assets/folder. La solicitud del POST es POST https://[aem_server]:[port]/content/dam/assets/folder.initiateUpload.json.

El tipo de contenido del cuerpo de la solicitud debe ser application/x-www-form-urlencoded datos de formulario, que contengan los siguientes campos:

  • (string) fileName: Requerido. El nombre del recurso tal como aparece en Experience Manager.
  • (number) fileSize: Requerido. El tamaño del archivo, en bytes, del recurso que se está cargando.

Se puede utilizar una sola solicitud para iniciar cargas para varios binarios, siempre que cada binario contenga los campos obligatorios. Si la solicitud se realiza correctamente, responde con un código de estado 201 y un cuerpo que contiene datos JSON en el siguiente formato:

{
    "completeURI": "(string)",
    "folderPath": (string)",
    "files": [
        {
            "fileName": "(string)",
            "mimeType": "(string)",
            "uploadToken": "(string)",
            "uploadURIs": [
                "(string)"
            ]
        }
    ]
}
  • completeURI (cadena): Llame a este URI cuando el binario termine de cargarse. El URI puede ser absoluto o relativo, y los clientes deben poder gestionar cualquiera de ellos. Es decir, el valor puede ser "https://author.acme.com/content/dam.completeUpload.json" o "/content/dam.completeUpload.json" Consulte carga completa.
  • folderPath (cadena): Ruta de acceso completa a la carpeta en la que se carga el binario.
  • (files) (matriz): Una lista de elementos cuya longitud y orden coinciden con la longitud y el orden de la lista de información binaria proporcionada en la solicitud de inicio.
  • fileName (cadena): El nombre del binario correspondiente, tal como se proporciona en la solicitud de inicio. Este valor debe incluirse en la solicitud completa.
  • mimeType (cadena): Tipo mime del binario correspondiente, tal como se suministra en la solicitud de inicio. Este valor debe incluirse en la solicitud completa.
  • uploadToken (cadena): Un token de carga para el binario correspondiente. Este valor debe incluirse en la solicitud completa.
  • uploadURIs (matriz): Una lista de cadenas cuyos valores son URIs completas a las que se debe cargar el contenido del binario (consulte Cargar binario).
  • minPartSize (número): Longitud mínima, en bytes, de los datos que se pueden proporcionar a cualquiera de los uploadURIs, si hay más de un URI.
  • maxPartSize (número): Longitud máxima, en bytes, de los datos que se pueden proporcionar a cualquiera de los uploadURIs, si hay más de un URI.

Cargar binario

El resultado del inicio de una carga incluye uno o más valores de URI de carga. Si se proporciona más de un URI, el cliente divide el binario en partes y realiza una solicitud de POST de cada parte a cada URI, en orden. Utilice todas las URI. Asegúrese de que el tamaño de cada pieza esté dentro de los tamaños mínimo y máximo especificados en la respuesta de inicio. Los nodos perimetrales de CDN ayudan a acelerar la carga solicitada de binarios.

Un método potencial para lograr esto es calcular el tamaño de la parte en función del número de URI de carga que proporcione la API. Por ejemplo, supongamos que el tamaño total del binario es de 20 000 bytes y el número de URI de carga es de 2. A continuación, siga estos pasos:

  • Calcule el tamaño de pieza dividiendo el tamaño total por número de URI: 20.000 / 2 = 10.000.
  • Intervalo de bytes del POST 0-9.999 del binario con el primer URI de la lista de URI de carga.
  • Intervalo de bytes del POST 10.000 - 19.999 del binario al segundo URI de la lista de URI de carga.

Si la carga se realiza correctamente, el servidor responde a cada solicitud con un código de estado 201.

Carga completa

Una vez cargadas todas las partes de un archivo binario, envíe una solicitud de POST HTTP al URI completo proporcionado por los datos de inicio. El tipo de contenido del cuerpo de la solicitud debe ser application/x-www-form-urlencoded datos de formulario, que contengan los siguientes campos.

Fields Tipo Requerido o no Descripción
fileName Cadena Requerido El nombre del recurso, tal como lo proporcionaron los datos de inicio.
mimeType Cadena Requerido El tipo de contenido HTTP del binario, tal como proporcionaron los datos de inicio.
uploadToken Cadena Requerido Token de carga para el binario, tal como proporcionaban los datos de inicio.
createVersion Booleano Opcional Si True y existe un recurso con el nombre especificado, Experience Manager crea una nueva versión del recurso.
versionLabel Cadena Opcional Si se crea una nueva versión, la etiqueta asociada a la nueva versión de un recurso .
versionComment Cadena Opcional Si se crea una nueva versión, los comentarios asociados a la versión.
replace Booleano Opcional Si True y existe un recurso con el nombre especificado, Experience Manager elimina el recurso y lo vuelve a crear.
NOTA

Si el recurso existe y no se especifica createVersion ni replace, Experience Manager actualiza la versión actual del recurso con el nuevo binario.

Al igual que el proceso de inicio, los datos de solicitud completos pueden contener información para más de un archivo.

El proceso de carga de un binario no se realiza hasta que se invoca la URL completa para el archivo. Un recurso se procesa una vez finalizado el proceso de carga. El procesamiento no se inicia aunque el archivo binario del recurso se cargue completamente, pero el proceso de carga no se haya completado.

Si se realiza correctamente, el servidor responde con un código de estado 200.

Biblioteca de carga de código abierto

Para obtener más información sobre los algoritmos de carga o para crear sus propios scripts y herramientas de carga, Adobe proporciona bibliotecas y herramientas de código abierto:

API de carga de recursos obsoletas

El nuevo método de carga solo se admite para Adobe Experience Manager como Cloud Service. Las API de Adobe Experience Manager 6.5 están en desuso. Los métodos relacionados con la carga o actualización de recursos o representaciones (cualquier carga binaria) quedan obsoletos en las siguientes API:

Flujos de trabajo de procesamiento y posprocesamiento de recursos

En Experience Manager, el procesamiento de recursos se basa en la configuración Perfiles de procesamiento que utiliza microservicios de recursos. El procesamiento no requiere extensiones de desarrollador.

Para la configuración del flujo de trabajo posterior al procesamiento, utilice los flujos de trabajo estándar con extensiones con pasos personalizados.

Compatibilidad con los pasos del flujo de trabajo en el flujo de trabajo posterior al procesamiento

Los clientes que actualicen desde versiones anteriores de Experience Manager pueden utilizar microservicios de recursos para procesar recursos. Los microservicios de recursos nativos de la nube son mucho más sencillos de configurar y usar. No se admiten algunos pasos de flujo de trabajo utilizados en el flujo de trabajo DAM Update Asset en la versión anterior.

Experience Manager como Cloud Service compatibilidad con los siguientes pasos del flujo de trabajo:

  • com.day.cq.dam.similaritysearch.internal.workflow.process.AutoTagAssetProcess
  • com.day.cq.dam.core.impl.process.CreateAssetLanguageCopyProcess
  • com.day.cq.wcm.workflow.process.CreateVersionProcess
  • com.day.cq.dam.similaritysearch.internal.workflow.smarttags.StartTrainingProcess
  • com.day.cq.dam.similaritysearch.internal.workflow.smarttags.TransferTrainingDataProcess
  • com.day.cq.dam.core.impl.process.TranslateAssetLanguageCopyProcess
  • com.day.cq.dam.core.impl.process.UpdateAssetLanguageCopyProcess
  • com.adobe.cq.workflow.replication.impl.ReplicationWorkflowProcess
  • com.day.cq.dam.core.impl.process.DamUpdateAssetWorkflowCompletedProcess

Los siguientes modelos técnicos de flujo de trabajo se sustituyen por microservicios de recursos o no hay compatibilidad disponible:

  • com.day.cq.dam.core.impl.process.DamMetadataWritebackWorkflowCompletedProcess
  • com.day.cq.dam.core.process.DeleteImagePreviewProcess
  • com.day.cq.dam.s7dam.common.process.DMEncodeVideoWorkflowCompletedProcess
  • com.day.cq.dam.core.process.GateKeeperProcess
  • com.day.cq.dam.core.process.AssetOffloadingProcess
  • com.day.cq.dam.core.process.MetadataProcessorProcess
  • com.day.cq.dam.core.process.XMPWritebackProcess
  • com.adobe.cq.dam.dm.process.workflow.DMImageProcess
  • com.day.cq.dam.s7dam.common.process.S7VideoThumbnailProcess
  • com.day.cq.dam.scene7.impl.process.Scene7UploadProcess
  • com.day.cq.dam.s7dam.common.process.VideoProxyServiceProcess
  • com.day.cq.dam.s7dam.common.process.VideoThumbnailDownloadProcess
  • com.day.cq.dam.s7dam.common.process.VideoUserUploadedThumbnailProcess
  • com.day.cq.dam.core.process.CreatePdfPreviewProcess
  • com.day.cq.dam.core.process.CreateWebEnabledImageProcess
  • com.day.cq.dam.video.FFMpegThumbnailProcess
  • com.day.cq.dam.core.process.ThumbnailProcess
  • com.day.cq.dam.cameraraw.process.CameraRawHandlingProcess
  • com.day.cq.dam.core.process.CommandLineProcess
  • com.day.cq.dam.pdfrasterizer.process.PdfRasterizerHandlingProcess
  • com.day.cq.dam.core.process.AddPropertyWorkflowProcess
  • com.day.cq.dam.core.process.CreateSubAssetsProcess
  • com.day.cq.dam.core.process.DownloadAssetProcess
  • com.day.cq.dam.word.process.ExtractImagesProcess
  • com.day.cq.dam.word.process.ExtractPlainProcess
  • com.day.cq.dam.video.FFMpegTranscodeProcess
  • com.day.cq.dam.ids.impl.process.IDSJobProcess
  • com.day.cq.dam.indd.process.INDDMediaExtractProcess
  • com.day.cq.dam.indd.process.INDDPageExtractProcess
  • com.day.cq.dam.core.impl.lightbox.LightboxUpdateAssetProcess
  • com.day.cq.dam.pim.impl.sourcing.upload.process.ProductAssetsUploadProcess
  • com.day.cq.dam.core.process.ScheduledPublishBPProcess
  • com.day.cq.dam.core.process.ScheduledUnPublishBPProcess
  • com.day.cq.dam.core.process.SendDownloadAssetEmailProcess
  • com.day.cq.dam.core.impl.process.SendTransientWorkflowCompletedEmailProcess

En esta página

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now