Il caricamento delle risorse non riesce quando si utilizzano le API di Asset Manager in Adobe Experience Manager as a Cloud Service

Il caricamento delle risorse non riesce quando le integrazioni utilizzano API in-JVM come com.day.cq.dam.api.AssetManager.createAsset. Queste API sono obsolete e non sono supportate per i caricamenti binari in Adobe Experience Manager as a Cloud Service. Il caricamento di file binari nella JVM di AEM viene considerato come un anti-pattern cloud. Per risolvere questo problema, esegui la migrazione al flusso di lavoro di caricamento binario diretto o utilizza l’importazione in blocco per l’inserimento delle risorse.

Descrizione description

Ambiente

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

Problema/Sintomi

  • Flag di report BPA unsupported.asset.api
  • Utilizzo di com.day.cq.dam.api.AssetManager.createAsset o API simili
  • Tentativi di caricamento risorse eseguiti in AEM JVM
  • Avvisi che indicano che il caricamento delle risorse non deve essere eseguito in Experience Manager JVM
  • Gli avvisi per gli sviluppatori indicano che i caricamenti di risorse non devono essere eseguiti nella JVM di Experience Manager

Risoluzione resolution

  1. Cerca nel codebase com.day.cq.dam.api.AssetManager.createAsset, createOrReplaceAsset e altri metodi di creazione risorse che scrivono file binari in AEM.

  2. Verifica che il flag BPA o l’avviso IDE facciano riferimento a queste API, ad esempio unsupported.asset.api

  3. Se non riesci a individuare il codice interessato, raccogli l’output BPA e i percorsi dei file e condividili con il supporto Adobe.

  4. Utilizza la diramazione diagnostica seguente:

    • Se si caricano risorse da un sistema esterno, utilizzare Direct Binary Upload API (initiateupload → binary upload → complete-upload).
    • Se esegui l’acquisizione di volumi elevati, utilizza Importazione in blocco AEM dall’archiviazione cloud (S3, Azure, GCP, Dropbox, OneDrive).
    • Se è richiesta l’acquisizione periodica pianificata, utilizzare Adobe App Builder + AEM Assets HTTP API.
  5. Verifica che il tuo caso d’uso non richieda il caricamento di risorse in-JVM.

  6. Genera credenziali server-to-server OAuth in Adobe Developer Console.

  7. Assegna il profilo di prodotto corretto alle credenziali.

  8. Genera un token di accesso e verifica che Adobe Developer Console restituisca un token Bearer valido.

  9. Se la generazione del token non riesce, verifica che il profilo di prodotto assegnato includa le autorizzazioni di scrittura.

  10. Accedi ad AEM Author e passa a Strumenti > Sicurezza > Utenti.

  11. Individua l’utente dell’account tecnico che viene visualizzato dopo la prima chiamata API.

  12. Verificare che l’utente appartenga a un gruppo di utenti di servizi con autorizzazioni jcr:read e rep:write per /content/dam.

  13. Controlla Strumenti > Sicurezza > Autorizzazioni per il gruppo di utenti Servizi.

  14. Avvia il flusso di lavoro di caricamento binario diretto.

  15. Carica il file binario direttamente nel percorso di archiviazione cloud restituito.

  16. Per avviare l’elaborazione delle risorse di AEM, completa la richiesta di caricamento.

  17. Passa a Assets > Files > nella cartella di destinazione e verifica che la risorsa sia presente in essa.

  18. Se il caricamento non riesce, raccogli i payload di richiesta e risposta API e condividili con il supporto Adobe.

  19. Sposta le risorse in un provider di archiviazione cloud supportato e configura Importazione in blocco in AEM

  20. Verifica che le risorse importate vengano visualizzate in AEM.

Lettura correlata

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