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.createAsseto 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
-
Cerca nel codebase
com.day.cq.dam.api.AssetManager.createAsset,createOrReplaceAssete altri metodi di creazione risorse che scrivono file binari in AEM. -
Verifica che il flag BPA o l’avviso IDE facciano riferimento a queste API, ad esempio unsupported.asset.api
-
Se non riesci a individuare il codice interessato, raccogli l’output BPA e i percorsi dei file e condividili con il supporto Adobe.
-
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.
- Se si caricano risorse da un sistema esterno, utilizzare Direct Binary Upload API (
-
Verifica che il tuo caso d’uso non richieda il caricamento di risorse in-JVM.
-
Genera credenziali server-to-server OAuth in Adobe Developer Console.
-
Assegna il profilo di prodotto corretto alle credenziali.
-
Genera un token di accesso e verifica che Adobe Developer Console restituisca un token Bearer valido.
-
Se la generazione del token non riesce, verifica che il profilo di prodotto assegnato includa le autorizzazioni di scrittura.
-
Accedi ad AEM Author e passa a Strumenti
>Sicurezza>Utenti. -
Individua l’utente dell’account tecnico che viene visualizzato dopo la prima chiamata API.
-
Verificare che l’utente appartenga a un gruppo di utenti di servizi con autorizzazioni
jcr:readerep:writeper/content/dam. -
Controlla Strumenti
>Sicurezza>Autorizzazioni per il gruppo di utenti Servizi. -
Avvia il flusso di lavoro di caricamento binario diretto.
-
Carica il file binario direttamente nel percorso di archiviazione cloud restituito.
-
Per avviare l’elaborazione delle risorse di AEM, completa la richiesta di caricamento.
-
Passa a Assets
>Files>nella cartella di destinazione e verifica che la risorsa sia presente in essa. -
Se il caricamento non riesce, raccogli i payload di richiesta e risposta API e condividili con il supporto Adobe.
-
Sposta le risorse in un provider di archiviazione cloud supportato e configura Importazione in blocco in AEM
-
Verifica che le risorse importate vengano visualizzate in AEM.
Lettura correlata
- Casi d’uso per sviluppatori Adobe Experience Manager Assets, API e materiale di riferimento
- Generazione dei token di accesso per le API lato server
- Risoluzione dei problemi di AEM Assetss
- Risoluzione dei problemi di AEM Assets e Forms
- Introduzione ad Assets as a Cloud Service per la gestione delle risorse digitali in AEM